J'apprends Java depuis 3 mois. Je fais Spring en formation, mais si le type de données est Number J'ai utilisé Big Decimal au lieu de int pour les choses qui ne sont que des entiers. En parlant de nombres, je n'utilisais que des int ou double, et j'étais confus au sujet du traitement de Big Decimal. Il existe de nombreux articles bien organisés sur BigDecimal, Je ne résumerai que ceux que j'ai réellement utilisés comme mémorandum.
Les quatre règles ne sont pas "+", "-", "*", "/".
Calcul | Méthode | Exemple |
---|---|---|
Addition (A+ B) | add | A.add(B) |
Soustraction (A- B) | subtract | A.subtract(B) |
Multiplier (A* B) | multiply | A.multiply(B) |
Calcul lent (A/ B) | divide | A.divide(B) |
Je n'ai pas utilisé de calcul progressif, mais si c'est un petit nombre, j'ai besoin de trois arguments. A. diviser (B, nombre de chiffres après la virgule décimale, méthode d'arrondi (arrondi vers le haut, arrondi vers le bas, arrondi, etc.)) Je ne l'ai pas utilisé cette fois, je vais donc l'omettre.
Utilisez "compareTo".
Opérateur de comparaison | Valeur de retour | Exemple |
---|---|---|
A < B | Si A est inférieur à B-Renvoie 1 | A.compareTo(B) < 0 |
A > B | Renvoie 1 si A est supérieur à B | A.compareTo(B) > 0 |
A == B | Renvoie 0 si A et B sont égaux | A.compareTo(B) == 0 |
Quand je l'ai recherché dans la formation, je voulais le rendre "inférieur à (<=") au lieu de "plus petit (<)", alors je l'ai écrit comme ça.
//Pas "plus grand que" (ça va te gâcher la tête)
if (!(A.compareTo(B) == 1)) {
}
//Je pense que c'était bien
if (A.compareTo(B) <= 0) {
}
J'ai également écrit qu'il reçoit la valeur d'entrée en type String et la convertit en BigDecimal pour le traitement.
BigDecimal→String
Chaîne Nom de la variable de type chaîne=Grand type décimal.toString();
String→BigDecimal
Nom de la variable de type BigDecimal BigDecimal= new BigDecimal(Type de chaîne);
https://docs.oracle.com/javase/jp/11/docs/api/java.base/java/math/BigDecimal.html https://www.sejuku.net/blog/25564 https://techacademy.jp/magazine/31915