Ich lerne seit 3 Monaten Java. Ich mache Spring im Training, aber wenn der Datentyp Number ist Ich habe Big Decimal anstelle von int für Dinge verwendet, die nur ganze Zahlen sind. Apropos Zahlen, ich habe nur int oder double verwendet und war verwirrt über die Verarbeitung von Big Decimal. Es gibt viele Artikel, die gut über BigDecimal organisiert sind. Ich werde nur diejenigen zusammenfassen, die ich tatsächlich als Memorandum verwendet habe.
Die vier Regeln sind nicht "+", "-", "*", "/".
Berechnung | Methode | Beispiel |
---|---|---|
Zugabe (A.+ B) | add | A.add(B) |
Subtraktion (A.- B) | subtract | A.subtract(B) |
Multiplizieren (A.* B) | multiply | A.multiply(B) |
Langsame Berechnung (A./ B) | divide | A.divide(B) |
Ich habe keine schrittweise Berechnung verwendet, aber wenn es eine kleine Zahl ist, brauche ich drei Argumente. A. teilen (B, Anzahl der Nachkommastellen, Rundungsmethode (Aufrunden, Abrunden, Runden usw.)) Ich habe es dieses Mal nicht benutzt, also werde ich es weglassen.
Verwenden Sie "compareTo".
Vergleichsoperator | Rückgabewert | Beispiel |
---|---|---|
A < B | Wenn A kleiner als B ist-Rückgabe 1 | A.compareTo(B) < 0 |
A > B | Gibt 1 zurück, wenn A größer als B ist | A.compareTo(B) > 0 |
A == B | Gibt 0 zurück, wenn A und B gleich sind | A.compareTo(B) == 0 |
Als ich es im Training nachgeschlagen habe, wollte ich es "kleiner als (<=") statt "kleiner (<)" machen, also habe ich es so geschrieben.
//Nicht "größer als" (es wird deinen Kopf durcheinander bringen)
if (!(A.compareTo(B) == 1)) {
}
//Ich finde das gut
if (A.compareTo(B) <= 0) {
}
Ich habe auch geschrieben, dass es den Eingabewert im String-Typ empfängt und ihn zur Verarbeitung in BigDecimal konvertiert.
BigDecimal→String
String String-Typ Variablenname=Großer Dezimaltyp.toString();
String→BigDecimal
BigDecimal Variablenname vom Typ BigDecimal= new BigDecimal(Zeichenfolgentyp);
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