Hallo zusammen
Ich habe folgendes Problem und bis jetzt noch nirgends etwas gefunden, was wirklich funktioniert hätte.
Ich habe einen Beträge die ich mit einer Zinsrate multiplizieren möchte. Das ganze läuft in einer Schleife für mehre Beträge und Zinsraten ab. Bei den meisten funktioniert es auch ohne Probleme, aber bei zwei Beträgen erhalte ich als Ergebnis immer den Betrag als wissenschaftliche Notation:
als beispiel:
float ir = new Float(1.0015);
float amount = new Float(9987652);
float total = ir * amount;
Dabei kommt dann immer 1.0002634E7 raus...
wenn der Beträg z.b. 5648756 ist, funktioniert es noch korrekt.
Einige Beiträge dazu empfehlen Umwandlung in BigDecimal, aber dann verliere ich die Kommastellen. Ich weiss, dass Float sowieso ungenau ist, das spielt aber hier keine Rolle. Ich benötige einfach den Betrag auf zwei Kommastellen gerundet und brings irgendwie nicht hin.
Habt ihr eine Idee ?
Ich habe folgendes Problem und bis jetzt noch nirgends etwas gefunden, was wirklich funktioniert hätte.
Ich habe einen Beträge die ich mit einer Zinsrate multiplizieren möchte. Das ganze läuft in einer Schleife für mehre Beträge und Zinsraten ab. Bei den meisten funktioniert es auch ohne Probleme, aber bei zwei Beträgen erhalte ich als Ergebnis immer den Betrag als wissenschaftliche Notation:
als beispiel:
float ir = new Float(1.0015);
float amount = new Float(9987652);
float total = ir * amount;
Dabei kommt dann immer 1.0002634E7 raus...
wenn der Beträg z.b. 5648756 ist, funktioniert es noch korrekt.
Einige Beiträge dazu empfehlen Umwandlung in BigDecimal, aber dann verliere ich die Kommastellen. Ich weiss, dass Float sowieso ungenau ist, das spielt aber hier keine Rolle. Ich benötige einfach den Betrag auf zwei Kommastellen gerundet und brings irgendwie nicht hin.
Habt ihr eine Idee ?