La classe Big Decimal est difficile à utiliser, sauf si vous êtes impliqué dans un travail qui traite de la précision des nombres. Alors, quand j'ai joué avec pour la première fois depuis longtemps, j'étais tellement accro que j'ai perdu mon temps.
BigDecimal setScale(int newScale) setScale(int newScale, int roundingMode) setScale(int newScale, RoundingMode roundingMode)
Afficher le résultat du traitement avec un chiffre après la virgule décimale
public static void main (String[] args) {
BigDecimal deci = new BigDecimal("1.2345");
System.out.println("deci 1:" + deci);
deci.setScale(1, BigDecimal.ROUND_DOWN);
System.out.println("deci 2:" + deci);
}
deci 1:1.2345 deci 2:1.2345
??? D'ailleurs, avec ce résultat d'exécution, ceux qui sont polis seront d'abord JavaDoc, et ceux qui le connaissent seront "Ah ...", mais j'ai gaspillé ceci et cela, Il a fallu environ 20 minutes pour le résoudre. .. .. (> <). Pourquoi? Quand. .. ..
public static void main (String[] args) {
BigDecimal deci = new BigDecimal("1.2345");
System.out.println("deci 1 :" + deci);
deci.setScale(1, BigDecimal.ROUND_DOWN);
System.out.println("deci 2 :" + deci);
BigDecimal deciDecci = deci.setScale(1, BigDecimal.ROUND_DOWN);
System.out.println("deciDecci :" + deciDecci);
}
deci 1 :1.2345 deci 2 :1.2345 deciDecci :1.2
Après tout, setScale était une méthode qui renvoyait une valeur de retour plutôt que de modifier le contenu de l'instance. .. .. Je pensais que je voulais qu'il soit nommé comme toString (), mais j'aurais dû regarder attentivement JavaDoc une fois. Il existe différents ensembles et setXXX dans la classe Calendar et ainsi de suite.