Inquiridor
MVC - campo decimal com ponto

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.
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 -
Olá,
Para a solução do seu problema, 3 pontos importantes devem ser entendido:
- Para informar valores decimais em C# basta escrever: 1.854m;
- 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
- 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
-