Muhtemelen ondalık değerlerinizi 100 ile ölçeklendirmeli ve tüm parasal değerleri tam sent olarak göstermelisiniz. Bu, kayan nokta mantığı ve aritmetik ile ilgili sorunları önlemek içindir . JavaScript'te ondalık veri türü yoktur - tek sayısal veri türü kayan noktadır. Bu nedenle paranın dolar 2550
yerine sent olarak kullanılması önerilir 25.50
.
JavaScript'te şunu düşünün:
var result = 1.0 + 2.0; // (result === 3.0) returns true
Fakat:
var result = 0.1 + 0.2; // (result === 0.3) returns false
İfade 0.1 + 0.2 === 0.3
geri döner false
, ancak neyse ki kayan noktadaki tamsayı aritmetiği tamdır, bu nedenle 1'i ölçeklendirerek ondalık gösterim hataları önlenebilir .
Gerçek sayılar kümesi sonsuz olsa da, yalnızca sonlu sayılarının (tam olarak 18,437,736,874,454,810,627) JavaScript kayan nokta biçimi ile tam olarak temsil edilebileceğini unutmayın. Bu nedenle, diğer sayıların temsili, gerçek sayı 2'nin yaklaşık bir tahmini olacaktır .
1 Douglas Crockford: JavaScript: İyi Parçalar : Ek A - Korkunç Parçalar (sayfa 105) .
2 David Flanagan: JavaScript: The Definitive Guide, Dördüncü Baskı : 3.1.3 Floating-Point Literals (sayfa 31) .