奇怪的Javascript浮点除法结果

时间:2015-09-08 14:29:07

标签: javascript math

var coeff='0.1';
var amount='12.2';

var res = Math.floor(parseFloat(amount) / parseFloat(coeff));

console.log(res);

为什么结果为121(我期待122)?

编辑:我的问题含糊不清:floor功能没问题。我只是想知道为什么12.2 / 0.1不等于122。

1 个答案:

答案 0 :(得分:0)

结果是121.99999999999999

来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor

  

Math.floor()函数返回小于或等于给定数字的最大整数。

所以它切断了.99999。你可能想用

Math.round(parseFloat(amount) / parseFloat(coeff));

代替