Avec la classe Big­De­ci­mal de Java, il est possible de traiter des nombres à virgule flottante complexes avec précision. Ceux-ci doivent être créés dans un premier temps, et peuvent ensuite être utilisés par dif­fé­rentes méthodes. Ce faisant, la syntaxe employée est toujours struc­tu­rée de manière similaire, de sorte que les débutants peuvent utiliser cette classe à l’issue d’une brève période d’ap­pren­tis­sage.

Qu’est-ce que Java Big­De­ci­mal ?

Java Big­De­ci­mal est une classe qui vous permet de re­pré­sen­ter et de manipuler des nombres à virgule flottante complexes de taille quel­conque en théorie avec une grande précision. En utilisant diverses méthodes que nous vous pré­sen­tons dans cet article, vous pouvez effectuer des opé­ra­tions d’arrondi, d’arith­mé­tique, de con­ver­sion de format, de hachage, et de com­pa­rai­son avancée de la plus haute précision avec cette classe.

Java Big­De­ci­mal se compose d’une échelle entière de 32 bits et d’une valeur entière non mise à l’échelle (unscale en anglais) d’une précision quel­conque. Dans ce cas, « échelle » désigne le nombre de chiffres après la virgule, si elle est su­pé­rieure ou égale à zéro. Si la valeur est in­fé­rieure à zéro en revanche, elle est mul­ti­pliée par « 10^(-scale) ». La taille possible de la classe n’est limitée que par la mémoire de l’or­di­na­teur. Cet aspect demeure plutôt théorique car il est peu probable qu’un programme crée un nombre qui dépasse la mémoire dis­po­nible. Alors que Big­De­ci­mal en Java est destiné ex­clu­si­ve­ment aux nombres à virgule flottante, les entiers sont traités avec la classe Bi­gIn­te­ger.

Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus

À quoi sert la classe ?

Par sa précision, Java Big­De­ci­mal n’est pas né­ces­saire à chaque ap­pli­ca­tion, mais il existe des si­tua­tions et des domaines d’ap­pli­ca­tion pour lesquels la classe se montre in­dis­pen­sable. Les calculs où même la plus petite décimale peut avoir un effet con­si­dé­rable in­ter­vien­nent par exemple dans le domaine de l’e-commerce pour les tran­sac­tions. La classe est également utilisée pour des analyses statiques précises. De nombreux pro­grammes, qui sont utilisés par exemple pour le le contrôle et la na­vi­ga­tion d’avions ou de missiles, s’appuient sur cette classe. Java Big­De­ci­mal s’utilise également dans le domaine médical. Dans d’autres secteurs, ce calcul précis offre la plus grande certitude possible.

Comment créer un objet ?

Si vous souhaitez utiliser Java Big­De­ci­mal, vous devez d’abord importer la classe dans le programme Java. Ceci fait, vous pouvez alors déclarer un objet de cette classe, puis créer la valeur souhaitée comme argument et la passer au cons­truc­teur Java approprié. Une fois cette opération effectuée, vous pouvez utiliser les Big­De­ci­mals créés en Java. Dif­fé­rentes méthodes sont dis­po­nibles au sein de la classe, dont nous dé­tail­lons l’uti­li­sa­tion dans les sections suivantes. Voici comment importer la classe en premier lieu puis déclarer deux exemples d’objets :

/ / Votre programme Java pour la classe BigDecimal
import java.math.BigDecimal;
public class BigDecimalExemple
{
	public static void main(String[] args)
	{
		/ / Créer deux nouveaux BigDecimal
		BigDecimal ExempleUn =
			new BigDecimal ("1275936001.744297361");
		BigDecimal ExempleDeux =
			new BigDecimal ("4746691047.132719503");
	}
}
java

Vous pouvez main­te­nant utiliser ces objets avec les méthodes cor­res­pon­dantes de la classe.

Exemples pour Java Big­De­ci­mal

Après avoir créé les objets, vous utilisez dif­fé­rentes méthodes pour effectuer des opé­ra­tions et utiliser les objets de cette manière. Nous allons vous montrer à l’aide de quelques exemples simples la façon dont cela fonc­tionne et quels résultats vous pouvez obtenir. La sortie est initiée par la commande Java System.out.println().

Ad­di­tion­ner deux Big­De­ci­mals

Si vous souhaitez ad­di­tion­ner deux Big­De­ci­mals en Java, vous pouvez faire appel à la méthode add(). Pour ce faire, vous ren­seig­nez les deux valeurs dont vous voulez calculer la somme. Dans notre exemple, nous voulons ajouter la valeur « ExempleUn » à la valeur « Exem­ple­Deux ». Le code se présente comme suit :

ExempleUn =
ExempleUn.add(ExempleDeux);
System.out.println ("Le résultat recherché après l’addition est : " + ExempleUn);
java

Sous­traire des nombres

Pour sous­traire deux valeurs, vous avez besoin de la méthode subtract(). L’exemple suivant consiste à sous­traire « Exem­ple­Deux » de « ExempleUn ». Le code cor­res­pon­dant se présente comme suit :

ExempleUn =
ExempleUn.subtract(ExempleDeux);
System.out.println ("Le résultat recherché après la soustraction est : " + ExempleUn);
java

Mul­ti­plier les valeurs

La méthode par laquelle vous mul­ti­pliez deux Big­De­ci­mals en Java fonc­tionne de manière très similaire. Il s’agit de multiply() et utilise l’objet « mul­ti­plier » comme argument. Si vous voulez mul­ti­plier « Exem­ple­Deux » par « ExempleUn », le code cor­res­pon­dant s’apparente à ceci :

ExempleUn =
ExempleUn.multiply(ExempleDeux);
System.out.println ("Le résultat recherché après la multiplication est : " + ExempleUn);
java

Diviser des nombres

Si vous voulez diviser deux Big­De­ci­mals en Java, optez pour la méthode divide(). En principe, elle adopte également la syntaxe connue et ressemble à ceci :

ExempleUn =
ExempleUn.divide(ExempleDeux);
System.out.println ("Le résultat recherché après la division est : " + ExempleUn);
java

Cela ne fonc­tionne toutefois que si le résultat est exact ou un entier. Si ce n’est pas le cas, le message d’erreur suivant est émis : java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.. Ceci décrit une erreur d’exécution. Pour éviter cela, il existe dif­fé­rentes options d’arrondi pour la méthode divide(), qui peuvent être passées via java.math.Roun­ding­Mode. Vous pouvez faire votre choix parmi les cons­tantes suivantes :

Constante Fonction
CEILING Arrondit à l’infini positif
DOWN Arrondit à 0
FLOOR Arrondit à l’infini négatif
HALF_DOWN Arrondit au plus proche voisin et opposé à 0, si les deux sont équi­dis­tants
HALF_EVEN Arrondit au plus proche voisin et au nombre pair le plus proche, si les deux sont équi­dis­tants
HALF_UP Arrondit au plus proche voisin et dans la direction 0, si les deux sont également distants
UN­NE­CES­SARY Ne nécessite pas d’arrondi et effectue uni­que­ment des opé­ra­tions exactes. Cette constante ne peut être utilisée que si la division est exacte
UP Arrondit à partir de 0

Vue d’ensemble des méthodes les plus im­por­tantes

Main­te­nant que vous avez appris à utiliser Java Big­De­ci­mal et à faire appel à des méthodes dans ce but, nous con­clu­rons en pré­sen­tant quelques-unes des méthodes les plus im­por­tantes dans une vue d’ensemble.

Méthode Fonction
abs() Big­De­ci­mal avec la valeur absolue de ce Big­De­ci­mal
add() Retourne un Big­De­ci­mal dont la valeur est composée de (this + Addend)
divide() La valeur de la sortie résulte de (this / Divisor)
max(Big­De­ci­mal val) Retourne le maximum de ce Big­De­ci­mal
min(Big­De­ci­mal val) Retourne le minimum de ce Big­De­ci­mal
mo­ve­Point­Left(int n) Retourne un Big­De­ci­mal où la virgule a été décalée vers la gauche de la valeur « n »
mo­ve­Poin­tRight(int n) Retourne un Big­De­ci­mal où la virgule a été décalée vers la droite de la valeur « n »
multiply(Big­De­ci­mal mul­ti­pli­cand, Ma­th­Con­text mc) Retourne une valeur résultant de (this * mul­ti­pli­cande)
Conseil

Notre Digital Guide vous permet d’en apprendre beaucoup plus sur le langage de pro­gram­ma­tion bien connu et populaire : par exemple, vous pouvez vous fa­mi­lia­ri­ser avec les opé­ra­teurs Java et découvrir l’essentiel sur les dif­fé­rences entre Java et Ja­vaS­cript ou Java et Python.

283a9d8b7eeda3d9c2495b9aeb8a05d3
Aller au menu principal