Vidéo: Java: Rounding Numbers (Math.round(), DecimalFormat & printf) 2024
En Java, la classe BigDecimal possède plusieurs méthodes qui permettent de convertir des valeurs BigDecimal en chaînes, doubles ou entiers. Jetez un oeil à ce qui suit pour une liste des méthodes de conversion.
Méthode | Explication |
---|---|
double doubleValue () | Renvoie la valeur de ce BigDecimal
en double. |
int intValue () | Retourne la valeur de ce BigDecimal
en tant qu'int. |
long longValue () | Renvoie la valeur de ce BigDecimal
comme un long. |
String toPlainString () | Retourne une représentation sous forme de chaîne de ce BigDecimal qui n'utilise pas la notation scientifique
. |
String toString () | Renvoie une représentation sous forme de chaîne de ce BigDecimal qui utilise la notation scientifique si
est nécessaire. |
Dans la plupart des cas, la seule raison de convertir un BigDecimal en double est que vous pouvez utiliser le double avec la classe NumberFormat pour mettre en forme la valeur de sortie. Tant que vous ne faites aucun calcul intermédiaire avec le double, vous ne rencontrerez aucune erreur de précision à moins que les nombres soient grands. (Vous commencez à rencontrer des problèmes à environ 13 chiffres.)
Voici un extrait de code qui convertit un objet BigDecimal nommé salesTax en un double et l'utilise avec la classe NumberFormat:
NumberFormat cf = NumberFormat. getCurrencyInstance (); double taxD = salesTax. doubleValue (); Système. en dehors. println (cf format (taxD));
Vous pouvez également utiliser la méthode toString pour formater un BigDecimal en tant que chaîne, mais cette méthode n'ajoute pas de virgules ou d'autres astuces de mise en forme. Notez également que cette méthode passe parfois en notation exponentielle si le nombre est grand. Pour éviter cela, vous pouvez utiliser la méthode toPlainString à la place.