none
Ponto na casa decimal RRS feed

  • Pergunta

  • Bom dia Pessoal,

    Estou desenvolvendo um aplicativo Web ( asp net e Razor), quando executo minha aplicação local, os valores monetários q/ vem do Mysql, são exibidos no webGrid com a casa decimal com o ponto ->  exe.: 125.99, porem quando esta mesma aplicação (a mesma), é executada do servidor os mesmos dados são exibidos no WebGrid com vírgula.  exe.: 125,99. 

    Consequencia disto é que dá erro quando tenho que fazer um update numa tabela do MySql.

    Preciso de ajuda, não sei com proceder, ????

    Qualquer dica é bem vinda,

    Valeu pessoal.

    Mauro Otoni

    quarta-feira, 11 de julho de 2012 11:27

Respostas

  • Bom dia pessoal,

    Consegui resolver meu problema , com uma simples alteração no Web.config "

    <globalization culture="en-US" uiCulture="en" requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8"/>"

    Com isto , mesmo que o servidor esteja configurado com a cultura pt-BR , o valores monetários são exibidos com o ponto nas casas decimais. Como eu precisava.

    Para alguem que estiver com o mesmo problema, está aí a solução.

    Valeu pessoal.

    • Marcado como Resposta Otoni sábado, 14 de julho de 2012 15:08
    sábado, 14 de julho de 2012 15:08

Todas as Respostas

  • Olá Otoni,

    Isso esta relacionado a suas configurações regionais. Provavelmente as configurações da sua máquina estão para o formato americano, enquanto que as configurações do servidor estão para o formato brasileiro.

    Poste como vc esta gravando estes dados no banco de dados.

    O ideal seria vc receber estes dados, independente do formato de entrada, e formatar para o padrão americano, e então inserir na base.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    • Sugerido como Resposta Renato Coqueiro quarta-feira, 11 de julho de 2012 17:43
    quarta-feira, 11 de julho de 2012 13:00
    Moderador
  • A resposta do Fernando está correta, porem é possível impor uma exibição com double.ToString(String, IFormatProvider)


    double value;
    
    value = 1.2;
    Console.WriteLine(value.ToString("#.##",CultureInfo.CreateSpecificCulture("da-DK")));
    // Displays 1,2



     
    quarta-feira, 11 de julho de 2012 14:15
  • Obrigado pela ajuda,

    Na verdade ainda não consegui resolver o problema, estou aguardando o suporte da Empresa a qual tenho o domínio.

    Porém como o Mauricio informou, também posso impor uma exibição com o double.ToString(String, IFormatProvider), mais

    estou com dificuldade em acertar esta exibição no WebGrid.

    Uma observação,

    Estou trabalhando com Webpages Razor no AspNet.

    Mais uma vez agradeço sua atenção,

    otoni

    • Marcado como Resposta Otoni sábado, 14 de julho de 2012 14:47
    • Não Marcado como Resposta Otoni sábado, 14 de julho de 2012 14:54
    quinta-feira, 12 de julho de 2012 11:43
  • Bom dia pessoal,

    Consegui resolver meu problema , com uma simples alteração no Web.config "

    <globalization culture="en-US" uiCulture="en" requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8"/>"

    Com isto , mesmo que o servidor esteja configurado com a cultura pt-BR , o valores monetários são exibidos com o ponto nas casas decimais. Como eu precisava.

    Para alguem que estiver com o mesmo problema, está aí a solução.

    Valeu pessoal.

    • Marcado como Resposta Otoni sábado, 14 de julho de 2012 15:08
    sábado, 14 de julho de 2012 15:08