Comment créer des objets BigDecimal en java

Pour créer un BigDecimal objet en Java, vous appelez un des constructeurs que vous voyez ci-dessous. Chacun de ces constructeurs prend une valeur et la convertit en un BigDecimal objet.

Bien que vous pouvez créer BigDecimal valeurs d'une double ou flotteur valeur, il est déconseillé. Le point de l'utilisation de l'ensemble BigDecimal est d'éviter les erreurs de précision qui sont inhérents à double et flotteur valeurs, et la seule façon de le faire est d'éviter d'utiliser double et flotteur tout à fait. Comme le vieil adage de l'ordinateur vous rappelle, "Garbage In, Garbage Out."

ConstructeurExplication
BigDecimal (double-val)Crée un BigDecimal de la valeur double.
BigDecimal (float val)Crée un BigDecimal à partir de la valeur du flotteur.
BigDecimal (int val)Crée un BigDecimal à partir de la valeur d'int.
BigDecimal (long val)Crée un BigDecimal de la valeur à long.
BigDecimal (String val)Crée un BigDecimal de la valeur de chaîne. La chaîne doit contenir un validrepresentation d'un nombre décimal.

Prenez ces déclarations, par exemple:

Valeur BigDecimal = new BigDecimal (0,01) -System.out.println (valeur) -



Voici ce qui sera imprimé sur la console:

0,01000000000000000020816681711721685132943093776702880859375

La meilleure façon de créer un BigDecimal objet avec une valeur décimale initiale est via une chaîne, comme ceci:

Valeur BigDecimal = new BigDecimal ("0,01") -

Ici, valeur a une valeur exactement 0,01.

Si la valeur initiale est un entier, vous pouvez passer en toute sécurité au constructeur. Rappelez-vous que les entiers ne sont pas les mêmes problèmes de précision que double et flotteurs faire. En outre, vous pouvez convertir un BigDecimal à un double uniquement dans le but d'utiliser le NumberFormat classe pour formater le résultat. Tant que vous ne l'utilisez double dans tous les calculs, vous ne serez pas à vous soucier de virgule flottante inexactitudes.

Note: La BigDecimal classe n'a pas de constructeur par défaut parce que vous ne pouvez pas avoir un BigDecimal objet sans valeur.


» » » » Comment créer des objets BigDecimal en java