2017-12-28 3 views
0

Ich habe 2 Float-Nummer und ich versuche, das Multiple zu bekommen. Aber in der Konsole bekommt es nicht die richtige. Ich weiß nicht, vielleicht gibt es ein Leck?Rubin | 2 float number multiple nicht geben den genauen Wert

{"price"=>"0.049391", "size"=>"0.001"} 

Wenn ich mehr sie zeigen trösten;

************ 
0.049391 
************ 
0.001 
************ 
4.9390999999999995e-05 
************ 

Dann, wenn ich diese Daten an Array und vor Ende drücken, wenn ich console.log

ich;

0.000049390999999999995 

Warum ist es nicht 0.0000493901?

+0

Letzteres ist eine genauere Darstellung der gleichen Nummer. Warum möchtest du die weniger präzise wissenschaftliche Notation? –

+0

"Warum ist es nicht 0,0000493901" - ah, __now__ Ich kann diese enge Abstimmung abgeben :) –

+0

Aber die Berechnung ist nicht wahr, ich brauche diese genaue Zahl nicht. Ich würde gerne bekommen, was Google-Rechner gibt :) das ist 0,0000493901 –

Antwort

1

4.9390999999999995e-05 und 0.000049390999999999995 sind die gleiche Nummer. e-05 ist nichts weiter als eine Notation für "verschiebe die Dezimalstelle um fünf Punkte nach links".

+0

Das OP will 0,000049391, nicht 0,000049390999999999995 – Stefan

+0

Ah, richtig bist du. Nun, in diesem Fall ist OP SOL, weil dies nur eine Eigenart der Fließkomma-Genauigkeit ist, und die Antwort wurde zu Recht als Duplikat markiert. –

Verwandte Themen