减去2个十进制数字javascript

时间:2016-08-03 01:47:09

标签: javascript subtraction

嗨我试图减去2个十进制数字,它会不断返回一些奇怪的数字。

var x = 0.00085022
var y = 0.00085050
var answer = x - y
alert(answer)

这是它返回的数字 -2.8000000000007186e-7

2 个答案:

答案 0 :(得分:2)

  

最大小数位数为17,但浮点运算并不总是100%准确   http://www.w3schools.com/js/js_numbers.asp

试试这个:

var x = 0.00085022 * 100000000;
var y = 0.00085050 * 100000000;
var answer = (x - y) / 100000000;
alert(answer);

答案 1 :(得分:1)

您正在使用更高的数字减去,并且计算正在遍历更低的数字。是-2.0更低,小数位精度达到指数级更高。

如果我们围绕它们,我们得到:

var x = 85022
var y = 85050
var answer = x - y
alert(answer); // = -28