此方法的想法是将十进制数转换为分数。唯一引起问题的是wert = wert * 10。 当我在这个方法中运行例如7.52时,我得到:
7.52
75.19999999999999
751.9999999999999
7519.999999999999
75199.9999999999
......它会继续下去,造成更多问题。我错过了什么?我希望它像这样7.52 - > 75.2 - > 752.0。
public static Eintrag toBruchzahl(double wert) {
System.out.println(wert);
boolean isDone = false;
int k = 0;
while (!isDone) {
if (wert % 1 == 0) {
isDone = true;
Eintrag resultat = new Eintrag((int) wert, (int) Math.pow(10, k));
//resultat.normalisieren();
return resultat;
} else {
k++;
wert = wert * 10;
System.out.println(wert);
}
}
return null;
}