none
Numero com casas decimais no VB.NET RRS feed

  • Pergunta

  • Bom  dia

    Tenho um software em Delphi, que estou passando ele para VB.net

    No código em delphi, é usada a função StrToFloat para converter os valores do textbox e joga-los nas variaveis, para manter o numero de forma correta.

    Minhas variaveis estão definidas como double.

    Eu ja tentei usar a função CDbl() porém se eu colocar por exemplo 4,12 ele só traz 4, e se eu colocar 4.12 ele traz 412.

    Com a função CDec a mesma coisa.

    E com a função format, que usei da seguinte forma, não trouxe nenhum valor.

    TS1 = Format(txt_temperatura_saida_ar.Text, "0.00")

    Existe alguma outra forma, ou eu estou usando de forma errada?

    Obrigado

    sexta-feira, 17 de fevereiro de 2012 10:22

Respostas

  • Olha, se está assim somente na variavel não precisa se preocupar , pois vai gravar corretamente na base. Voce nunca vai conseguir mostrar uma variavel 4,00 pois o proprio .NET remove as casas zeradas. Voce precisa se preocupar é em mostrar NO TEXTBOX o numero formatado.

    Faça assim:

    textBox.Text = string.Format("{0:N2}", variavel)

    Onde o numero dois (2) representa a quantidade de casas decimais.

    Se ajudou marque como resposta ;)


    • Sugerido como Resposta Renato Coqueiro sexta-feira, 17 de fevereiro de 2012 17:15
    • Editado Renato Coqueiro sexta-feira, 17 de fevereiro de 2012 17:19
    • Não Sugerido como Resposta Renato Coqueiro sexta-feira, 24 de fevereiro de 2012 11:09
    • Sugerido como Resposta Renato Coqueiro segunda-feira, 27 de fevereiro de 2012 01:59
    • Marcado como Resposta Felipe Pires de Jesus terça-feira, 6 de março de 2012 19:04
    sexta-feira, 17 de fevereiro de 2012 17:15

Todas as Respostas

  • Olha, se está assim somente na variavel não precisa se preocupar , pois vai gravar corretamente na base. Voce nunca vai conseguir mostrar uma variavel 4,00 pois o proprio .NET remove as casas zeradas. Voce precisa se preocupar é em mostrar NO TEXTBOX o numero formatado.

    Faça assim:

    textBox.Text = string.Format("{0:N2}", variavel)

    Onde o numero dois (2) representa a quantidade de casas decimais.

    Se ajudou marque como resposta ;)


    • Sugerido como Resposta Renato Coqueiro sexta-feira, 17 de fevereiro de 2012 17:15
    • Editado Renato Coqueiro sexta-feira, 17 de fevereiro de 2012 17:19
    • Não Sugerido como Resposta Renato Coqueiro sexta-feira, 24 de fevereiro de 2012 11:09
    • Sugerido como Resposta Renato Coqueiro segunda-feira, 27 de fevereiro de 2012 01:59
    • Marcado como Resposta Felipe Pires de Jesus terça-feira, 6 de março de 2012 19:04
    sexta-feira, 17 de fevereiro de 2012 17:15
  • Só completando a resposta do amigo, se tratando de VB.NET deverá ficar assim:

    Dim l As Double = 20.5
    TextBox1.Text = String.Format("{0:N2}", l)
    //resultado 20,50


    Ao infinito e além!

    sábado, 18 de fevereiro de 2012 12:09
  • Olá Felipe Pires de Jesus, boa tarde.

    1º Como se trata de valores, ele tem que retornar em forma decimal, igual dinheiro, não podendo arredondar o valor;

    Tente o seguinte código:

    Dim valor as Decimal
    
    valor = Math.Round((Textbox1.Text) - 0.005, 2)
    Textbox2.Text = Format(valor, "N2")

    Até mais.


    Luige C. Salvi (17) | 9224-9335 Web Designer Júnior Microsoft .NET Developer Júnior OPS® Comunicação e Comércio Eletrônico


    quarta-feira, 22 de fevereiro de 2012 19:57