Zitat:
Original geschrieben von RaistlinMajere
verstehe ich nicht, verfolg das doch mal:
zahl * 100 ergibt 123456.789
dann machst daraus nen integer, wird also 123456
dann +5, also 123461
dann machst ein double daraus, also 123461.0
und dann /100, also 1234.61
stimmt aber nicht, es sollte 1234.57 rauskommen, das wäre korrekt auf 2 stellen gerunden.
|
hm... vieleicht sollte ich mal was nachrechnen, bevor ich einfach so poste!
dann halt:
dNeueZahl = (double) ((int) (zahl * 100 + 0.5)) / 100;
1234.56789 * 100 = 123456.789
123456.789 + 0.5 = 123457.289
int ( 123457.289 ) = 123457
123457/100 = 1234.57
hab mich um eine kommastelle vertan...