Estou criando uma interface e mandando os valores para o banco de Dados , mas quando o usuário utiliza Virgula no lugar de ponto meu programa da erro , como eu faço para que ele aceite virgula e ponto no campo preço ? . Desde já obrigado .
Dito isso, vc precisa pensar no seguinte: um preço É Double?
vc realmente tem um valor de ponto flutuante de dupla precisão? tipo 0.000000000001 ? pode ser negativo?
as vezes o preço é um multiplo de centavos. Vc em algum momento pode precisar de um objeto mais adequado ( uma classe Money, não sei pq java não tem isso ).
dinheiro é um exemplo de quantidade de ponto fixo, onde vc tem duas ou tres casas decimais. vc pode fazer uma aproximação e salvar um valor inteiro que corresponda aos centavos.
agora de forma alguma vc pode usar double ( ou float ) em dinhero no mundo real (ou, pelo menos, em sistemas de contabilidade). os problemas de arredondamento inerentes ao ponto flutuante pode trazer inconsistencias importantes.
JoaoLopes
Sou novo no site e nem sei como agradecer , obrigado pela ajuda ! .
raphaeloneves
Sempre ouvi que o melhor é usar a BigDecimal pra moeda, mas nunca entendi ao certo o porque . Saberia me dizer, @peczenyj?
peczenyj
Vamos la
BigDecimal por si tem varias vantagens em relação aos tipos numericos primitivos porém a performance é ligeiramente menor. Vc só deve se preocupar com isso no caso de vc estar efetuando algo como algum calculo numerico onde vc faz muitas operações ( e olhe lá ).