Comment faire pour afficher un nombre avec toujours 2 points décimaux à l'aide de BigDecimal?
Je suis en utilisant BigDecimal pour obtenir des prix, des valeurs. L'exigence est quelque chose comme cela, ce que jamais, la valeur que nous extraire de la base de données, l'affichage de la valeur doit avoir 2 points décimaux.
Par exemple:
extraites de la valeur est 1 - doit être affiché comme 1.00
récupérée valeur est 1.7823 - doit être affiché comme 1.78
Je suis en utilisant setScale(2, BigDecimal.ROUND_HALF_UP)
mais il reste encore quelques places, si les données de la DB est un nombre entier puis le même qui est affiché !!
Je veux dire, si la valeur est 0 DB son à 0 seulement. Je veux que l'affichage de l'0.00
Grâce
- Je pense que vous pouvez trouver votre droit de réponse ici: stackoverflow.com/a/50543/61624
- merci daniel :)c'était trop rapide réponse.. mais je suis déjà à l'aide de la bigdecimal.round_half_up avec setscale(2), il fonctionne quand u ont un nombre comme 2.12 ou 4.2343. lorsque la valeur est un nombre entier comme juste 2 ensuite, je veux que l'affichage de l'2.00 et c'est là que je suis faute de !!
- double possible de Comment dois-je formater un nombre en java?
Vous devez vous connecter pour publier un commentaire.
BigDecimal est immuable, toute opération dont setScale(2, BigDecimal.ROUND_HALF_UP) produit un nouveau BigDecimal. Code Correct doit être
sortie
.setScale(2, RoundingMode.HALF_UP);
vous pouvez utiliser le tour format
Espère que cela vous aidera.
Forme de nombres en JAVA, vous pouvez utiliser:
où d est la variable ou de numéro de
ou
Vous avez besoin d'utiliser quelque chose comme
NumberFormat
appropriée de paramètres régionaux à formatBigDecimal.setScale serait de travailler.