减去两个值的结果不同

时间:2014-12-05 09:20:04

标签: javascript

我在javaScript中减去两个值(2.75 - 2.475)。我得到了值0.2749999999999999。当我检查计算器时,我得到了不同的结果0.275。在计算javaScript和计算器之间有什么不同?

3 个答案:

答案 0 :(得分:1)

你必须修复精度

var d =2.75 - 2.475
var result = d.toFixed(3)

答案 1 :(得分:1)

您可以尝试将其四舍五入:

var res = parseFloat((2.75 - 2.475).toFixed(3));
console.log('type of res ', typeof res);
console.log('res ', res);

var res = +(2.75 - 2.475).toFixed(3);
console.log('type of res, ', typeof res);
console.log('res, ', res);
Open console.

  

浮点运算只能产生近似结果,   四舍五入到最接近的可表示实数。当你执行一个   计算顺序,这些舍入误差可以累积,   导致越来越不准确的结果。舍入也会导致   与我们通常所期望的那种属性的惊人偏差   算术。例如,实数是关联的,意思是   对于任何实数x,y和z,总是这样(x + y)+   z = x +(y + z)。

答案 2 :(得分:1)

计算器会自动对结果进行舍入。

在javascript中你必须自己做:



type="text/javascript">alert(parseFloat((2.75 -
2.475).toFixed(5)));</script>
&#13;
&#13;
&#13;