| |
|
|
Erasmus.Herold | Hallöchen.
Ich habe folgendes Rundungsproblem. Hat jemand eine Idee?
temp! = 64.975
print "DEMO 1: ", temp!
temp! = ROUND(temp!,2)
print "DEMO 2: ", temp!
Ausgabe auf dem Bildschirm: DEMO 1: 64.975000 DEMO 2: 64.970000
ich erwarte aber: DEMO 2: 64.980000
Danke für eure Ideen. |
|
|
| |
|
|
|
p.specht
| Das nennt man Inkomensurabilität: Die Zahl 64.975 ist binär nur etwas zu klein darstellbar. Abhilfe wäre hier nur, mit 1+1e-15 zu multiplizieren, damit die letzte der 16 signifikanten Stellen einen "Schubs" erhält. Dann ist aber irgend eine andere Zahl an dieser ungünstigen Stelle auf der Zahlengeraden...
Man sieht was da genau passiert, wenn man sich alle 17 Nachkommastellen anzeigen lässt. Gruss
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 13.11.2018 ▲ |
|
|
|
|
Erasmus.Herold | Hammer!
Danke - damit versuche ich mein Glück. |
|
|
| |
|
|