Pergunta

Eu uso o Javascript no frontend, C # como camada intermediária e Oracle 9i como DB.

O que é a melhor prática quando formatar números com precisão 2 decimal para uma moeda? E o que as camadas devem ser preferido entre qualquer uma dessas três camadas?

Tendo em mente que o usuário será capaz de editar esses valores em algumas das minhas telas no aplicativo.

Foi útil?

Solução

O armazenamento do seu decimal pode estar em uma precisão superior a 2 dígitos. Desde que você mencionou, C # e Javascript, eu posso assumir que você está usando ASP.NET para o seu front-end.

A exibição da moeda tem de ser tratado em seu código ASP.NET, para exibi-lo com base no do seu usuário locale / CultureInfo.

Para que sua gridviews e outros controles de exibição, em C #, você pode usar a seqüência de formatação opção:. {0:c} para exibir a moeda com o símbolo correto e 2 casas decimais

Outras dicas

Eu diria que fazê-lo o mais próximo do usuário como é prático. Não no banco de dados de qualquer maneira, uma vez que a DB não vai estar ciente da localidade do usuário.

Update: Esteja ciente ao fazer moeda formatação que você está exibindo informações para o usuário que é realmente correto. formatação de moeda não é o mesmo que conversão de moeda ...

Se você quiser executar quaisquer operações matemáticas em seus dados será muito melhor para fazer a formatação em Javascript e adicionar o símbolo de moeda.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top