freddys_ 0 Denunciar post Postado Julho 9, 2009 Olá pessoal! Estou iniciando em VB.NET e fiz um programa, que esta rodando certinho, mas o resultado sai negativo. Veja o codigo abaixo: Public Class ModVF Private decValorInicial As Double = 0 Private dbTaxaAnual As Double = 0 Private decDepositoMensal As Double = 0 Private iAnos As Integer = 0 Private resultado As Double = 0 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Height = 404 decValorInicial = CDbl(TextBox1.Text) dbTaxaAnual = CDbl(TextBox2.Text) decDepositoMensal = CDbl(TextBox3.Text) iAnos = CInt(TextBox4.Text) resultado = FV(dbTaxaAnual, iAnos, decDepositoMensal, decValorInicial) TextBox5.Visible = True Label6.Visible = True TextBox5.Text = "Com um valor inicial de " & FormatCurrency(decValorInicial) & vbCrLf TextBox5.Text += "e depósitos mensais de " & FormatCurrency(decDepositoMensal) & vbCrLf TextBox5.Text += "por um período de " & iAnos & " anos" & vbCrLf TextBox5.Text += "a uma taxa de " & dbTaxaAnual & "% no período," & vbCrLf TextBox5.Text += "Você terá economizado " & vbCrLf & FormatCurrency(resultado) End Sub End Class na variavel resultado uso a função FormatCurrency() e quando o valor é negativo ele coloca () no resultado. Veja um resultado: Com um valor inicial de R$ 1.000,00 e depósitos mensais de R$ 100,00 por um período de 11 anos a uma taxa de 6% no período, Você terá economizado (R$ 2.010.282.188.700,00) quem puder ajudar agradeço!!! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 9, 2009 Mas valores negativos representados em moedas são com (), esta correto, qual o problema? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
freddys_ 0 Denunciar post Postado Julho 9, 2009 Mas valores negativos representados em moedas são com (), esta correto, qual o problema? Abraços... Bom essa função FV ela retorna um valor de uma poupança por exemplo eu informo quanto tenho, em quantos anos vou poupar, e o valor do deposito mensal. E como você viu no exemplo retorna um número gigante e negativo! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 9, 2009 Bom não me preocupei em olhar se o calculo estava certo ou errado, pensei que só estava questionando que quando é negativo colocava parênteses. O calculo é feito neste evento do botão? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
D.A 0 Denunciar post Postado Julho 15, 2009 Olhei bem por cima, mas acho que o problema esta nos parametros que você está passando. Verifique se o que você esta passando é realmente o que a função FV espera []s Compartilhar este post Link para o post Compartilhar em outros sites
Juliano.net 2 Denunciar post Postado Julho 16, 2009 Pode postar o código da função? Compartilhar este post Link para o post Compartilhar em outros sites
D.A 0 Denunciar post Postado Julho 16, 2009 Bom, é o seguinte, você realmente estava passando parametros errados na função. Abaixo eu fiz a correção de como deve ser: Public Class ModVF Private decValorInicial As Double = 0 Private dbTaxaAnual As Double = 0 Private decDepositoMensal As Double = 0 Private iAnos As Integer = 0 Private resultado As Double = 0 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Height = 404 decValorInicial = CDbl(TextBox1.Text) dbTaxaAnual = CDbl(TextBox2.Text) decDepositoMensal = CDbl(TextBox3.Text) iAnos = CInt(TextBox4.Text) resultado = FV(dbTaxaAnual / 12, iAnos * 12, -decDepositoMensal, -decValorInicial, DueDate.BegOfPeriod) TextBox5.Visible = True Label6.Visible = True TextBox5.Text = "Com um valor inicial de " & FormatCurrency(decValorInicial) & vbCrLf TextBox5.Text += "e depósitos mensais de " & FormatCurrency(decDepositoMensal) & vbCrLf TextBox5.Text += "por um período de " & iAnos & " meses" & vbCrLf TextBox5.Text += "a uma taxa de " & dbTaxaAnual & "% no período," & vbCrLf TextBox5.Text += "Você terá economizado " & vbCrLf & FormatCurrency(resultado) End Sub End Class Veja o resultado agora: Com um valor inicial de R$ 1.000,00 e depósitos mensais de R$ 100,00 por um período de 132 meses a uma taxa de 0,05% no período, Você terá economizado R$ 1.940.346,97 Explicação: O valor do juros ANUAL deve ser multiplicado por 12. Assim você consegue saber quanto serão os juros mensais. Esses depositos são MENSAIS... então você deve MULTIPLICAR a quantidade de anos por 12 para saber quantos meses serão ao longo desse periodo. Qualquer coisa, da uma olhada aqui: http://www.macoratti.net/vbn_ff1.htm Espero ter ajudado, e se sim, por favor, nos informe []s Compartilhar este post Link para o post Compartilhar em outros sites