Olá amigos do fórum, estou fazendo um sisteminha agora nas férias para não ficar parado, dessa vez quero fazer com calma e da maneira correta…
Já de cara surgiu a primeira dúvida… pesquisei em vários lugares e cada um ensina de uma maneira diferente…
Eu tenho uma entidade chamada “servico” Serviço, onde será cadastrado o serviço e o preço dele… ex.:
descricao: cortar grama
preco: 12,51
o serviço terá no máximo 999,99
porém já adiantando a pergunta, eu terei uma entidade chamada “empresa” e nela terá o “valor_em_caixa” que poderá ter por exemplo: 1.251,32
Minha pergunta é:
No java qual tipo usar? Double, Float…
No banco (mysql) qual usar? Decimal, Decimal(), Double, Float…
float é insuficiente, você não esta levando em consideração os centavos. @alandiniz caso você for fazer calculos baseado nesse valor, vai de BigDecimal, senão o Double é o suficiente.
alandiniz
Bom intão no banco fica Decimal
e no java BigDecimal
hehe, eh meio complicado isso pq cada um pensa de uma forma… por isso criei o tópico…
eu achei em muitos lugares, cada um falando uma coisa, achei até gente falando pra usa INT ¬¬
kapa01
use double que é o padrão para formatos decimais em java.
D
davisnog
alandiniz:
Bom intão no banco fica Decimal
e no java BigDecimal
hehe, eh meio complicado isso pq cada um pensa de uma forma… por isso criei o tópico…
eu achei em muitos lugares, cada um falando uma coisa, achei até gente falando pra usa INT ¬¬
Eu já vi disso também de usar int para valores decimais, a explicação que eu tive foi que seria criado dois campos, um com o valor inteiro e outro para o decimal. Ex: 12,22 seriam separados o 12 e 22, cada um em um campo, vai entender né.
mauricioadl
davisnog:
mauricioadl:
banco -> decimal
java -> float é suficiente
float é insuficiente, você não esta levando em consideração os centavos. @alandiniz caso você for fazer calculos baseado nesse valor, vai de BigDecimal, senão o Double é o suficiente.
float eh grande o suficiente pra colocar bilhoes de moeda e centavos de boa, o que vai mudar é a formatacao que voce ira usar na view nao o armazenamento.
eu sempre uso BigDecimal…pra ser mais sincero, eu tenho algumas classes Dinheiro, Cheque, cartão, etc…depende do seus sistema…mas dentro dessas classes eu uso BigDecimal que me permite diversos métodos para se trabalhar com os valores.