[JAVA] [Kleine Geschichte] Irreführender Methodenname (eine Geschichte, die aufgrund von setScale Zeit verschwendet hat.

Einführung

Die Big Decimal-Klasse ist nur schwer zu verwenden, wenn Sie an Arbeiten beteiligt sind, die sich mit der Genauigkeit von Zahlen befassen. Als ich zum ersten Mal seit langer Zeit damit spielte, war ich so süchtig danach, dass ich meine Zeit verschwendete.

Verwandte Methoden

BigDecimal setScale(int newScale) setScale(int newScale, int roundingMode) setScale(int newScale, RoundingMode roundingMode)

Programmspezifikationen

Zeigen Sie das Verarbeitungsergebnis mit einer Ziffer nach dem Komma an

Programm

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);
    
}

Ausführungsergebnis

deci 1:1.2345 deci 2:1.2345

??? Übrigens, mit diesem Ausführungsergebnis werden diejenigen, die höflich sind, zuerst JavaDoc sein, und diejenigen, die damit vertraut sind, werden "Ah ..." sein, aber ich habe dies und das verschwendet, Die Lösung dauerte ungefähr 20 Minuten. .. .. (> <). Warum? Wann. .. ..

Programm 2

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);
}

Ausführungsergebnis 2

deci 1 :1.2345 deci 2 :1.2345 deciDecci :1.2

Fazit

Immerhin war setScale eine Methode, die einen Rückgabewert zurückgab, anstatt den Inhalt der Instanz zu ändern. .. .. Ich dachte, ich wollte, dass es wie toString () heißt, aber ich hätte mir JavaDoc einmal genau ansehen sollen. Es gibt verschiedene Sets und setXXX in der Calendar-Klasse und so weiter.

Recommended Posts

[Kleine Geschichte] Irreführender Methodenname (eine Geschichte, die aufgrund von setScale Zeit verschwendet hat.
Eine Geschichte, die Zeit brauchte, um eine Verbindung herzustellen
Eine Geschichte über die Schwierigkeiten beim Versuch, PHP 7.4 auf CentOS 8 von GCE zu erstellen
So erstellen Sie eine Methode
Eine Geschichte, die ich mit Java nur schwer herausfordern konnte
Fügen Sie dem JAR-Dateinamen in Gradle einen Zeitstempel hinzu
Schreiben wir einen Code, der einfach zu pflegen ist (Teil 2)
Wie man IGV mit Socket-Kommunikation bedient und wie man einen Ruby Gem mit dieser Methode herstellt