none
Converter valor em string para R$ RRS feed

  • Pergunta

  • Caros,

     

    Após somar alguns valores, acumulo numa label para mostrar ao usuário.

    No momento de salvar esta informação, pego do label.text e coloco num comando update. Ocorre que o valor na label está com vírgula, o que ocasiona um erro.

     

    Já inseri o comando

    Code Snippet
    Dim culture As New CultureInfo("pt-BR")

     

     

    e na hora de montar o update uso o

    Code Snippet
    Double.Parse(lbVlrTotal.Text, culture)

     

     

    mas não tem funcionado.

     

    Alguma dica?

     

    Agradeço a ajuda.

     

     

     

    quinta-feira, 26 de abril de 2007 14:57

Todas as Respostas

  • Você formata na mão o valor no label? Pois se colocar a cultura correta (pt-BR) e mandar formatar para moeda ele vai ficar com pontos e vírgula para casas decimais. Outra coisa, está parâmetro para passar esse valor no SqlCommand?
    quinta-feira, 26 de abril de 2007 15:21
  • Faço o que tá descrito ali em cima...

     

    Pego o update "update tb_mov_mesa set total = Double.Parse(lbVlrTotal.Text, culture)" e mando pro Web Service... onde o lbVlrTotal.Text = 20,54

    Aí recebo um erro do SQL...  Incorrect syntax near '54'.    

     

     

    quinta-feira, 26 de abril de 2007 16:55
  • E a alteraçao da cultura você fez no Web Service? E lá no WS você está usando parâmetro para executar o command?
    quinta-feira, 26 de abril de 2007 17:06
  • O web service só recebe o update (sSQL)e aplica...

     

    Code Snippet

    Dim myCommand As New SqlCommand(sSQL, Conexao)

    myCommand.ExecuteNonQuery()

     

    quinta-feira, 26 de abril de 2007 17:13
  • Eu imagino que você tenha que alterar aí. A primeira alteração é usar parâmetros, principalmente por que isso é uma aplicação web e se não resolver altera a cultura aí no ws para testar.
    quinta-feira, 26 de abril de 2007 17:35
  • Leonardo,

     

    Fiz o mais simples... converti o valor para string e daí substituí a vírgula pelo ponto.

     

    Code Snippet

    Dim VlrTotal As String

    VlrTotal = Convert.ToString(Total)

    VlrTotal = VlrTotal.Replace(",", ".")

     

    e resolveu.

     

    Obrigado pela ajuda.

    quinta-feira, 26 de abril de 2007 18:47