none
MVC - campo decimal com ponto RRS feed

  • Pergunta

  • Olá galera.

    Sou novo em desenvolvimento MVC com C# e banco de dados Sql Server, minha duvida aqui pode até ser muito ridicula para vocês mas é algo que eu pesquisei na net e nada que encontrei me ajudou.

    Seguinte, tenho um campo do tipo decimal que recebe o tio do motor (1.0 - 1.6 - 1.8 - 2.0 etc), quando faço um insert o sistema retorna uma mensagem informando que o valor com ponto (1.8) não é valido se eu informar com vírgula (1,8) o sistema compreende e prossegue, sei que isso ocorre por ser um padrão americano na linguagem.

    Já configurei o globalization no webConfig, instalei a versão pt-Br via via console do nugget mas nada resolveu, algué já teve esse problema ? como posso resolver isso ?

    Desde já agradeço pela atenção e ajuda.

    domingo, 20 de novembro de 2016 21:20

Todas as Respostas

  • Olá,

    Na verdade é exatamente o contrário, pt-BR aceita separador decimal como "," e o padrão americano o separador decimal é o ".".

    O que poderia resolver seu problema caso o usuário digite das duas maneiras, é fazer um tratamento no seu código para que caso ele digite ponto, seja substituido por vírgula, ou usar alguma máscara javascript no campo que o obrigue a digitar o que você deseja.

    Espero ter ajudado!

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    domingo, 20 de novembro de 2016 21:24
  • Olá,

    Para a solução do seu problema, 3 pontos importantes devem ser entendido:

    1. Para informar valores decimais em C# basta escrever: 1.854m;
    2. Para se tratar um numero pode-se usar o decimal.TryParse(string, out number), onde string poderia ser o resultado de uma textbox ou componente a sua escolha (desde que string) e number  seria um decimal declarado que retornaria o valor numerico resultado da conversão
    3. Dependendo do compoente visual usado para obter o valor, esse mesmo já pode realizar a conversão 
    decimal number;
    decimal.TryParse(txtCampo.Text,out number);


    Valnei Filho

    domingo, 20 de novembro de 2016 22:46
  • eu desinstalei o pacote de tradução e continuou criticando quando utilizo o ponto, há outra configuração à ser feita  ?
    segunda-feira, 21 de novembro de 2016 12:08