Hallo,
ich arbeite seit knapp einer Woche mit Java und habe zum Üben einen art "Taschenrechner" Programmiert.
Damit auch Kommazahlen korrekt berechnet werden können verwende ich die klasse BigDecimal.
Bei Geteiltrechnungen wird nach 15 Nachkommastellen gerundet damit auch periodische zahlen berechnet werden können. Bei 2 / 3 funktioniert das auch sehr gut. Mein Problem ist nun allerdings, dass bei zb 4 / 2 als Ergebnis 2.0000000000000 ausgegeben wird. gibt es irgendeine Möglichkeit, die Nullen nach dem Komma zu entfernen oder vllt sogar eine noch geschicktere Lösung?
ich arbeite seit knapp einer Woche mit Java und habe zum Üben einen art "Taschenrechner" Programmiert.
Damit auch Kommazahlen korrekt berechnet werden können verwende ich die klasse BigDecimal.
Bei Geteiltrechnungen wird nach 15 Nachkommastellen gerundet damit auch periodische zahlen berechnet werden können. Bei 2 / 3 funktioniert das auch sehr gut. Mein Problem ist nun allerdings, dass bei zb 4 / 2 als Ergebnis 2.0000000000000 ausgegeben wird. gibt es irgendeine Möglichkeit, die Nullen nach dem Komma zu entfernen oder vllt sogar eine noch geschicktere Lösung?
Java:
import java.math.BigDecimal;
import java.math.RoundingMode;
public class TEST_1 {
public static void main(String[] args) {
String number1str = "4";
String number2str = "3";
String number3str = "2";
BigDecimal number1big = new BigDecimal(number1str);
BigDecimal number2big = new BigDecimal(number2str);
BigDecimal number3big = new BigDecimal(number3str);
BigDecimal result1big = number1big.divide(number2big, 15, RoundingMode.HALF_UP);
String result1str = result1big.toString();
System.out.println("4 / 3 = " + result1str);
BigDecimal result2big = number1big.divide(number3big, 15, RoundingMode.HALF_UP);
String result2str = result2big.toString();
System.out.println("4 / 2 = " + result2str);
}
}
Output:
4 / 3 = 1.333333333333333
4 / 2 = 2.000000000000000