这个输出应该是 true。但它总是给出 false。
Number.isInteger(parseFloat('134965.83') / parseFloat('0.01'))
最佳答案
Javascript 中的浮点运算是 broken并在 general也是如此。
它与除法无关,如果您检查的是浮点值,如果不进行除法,它将返回 false。
Number.isInteger(parseFloat('134965.83')/parseFloat('0.01'))
转换为 Number.isInteger(13496582.999999998)
-> false
检查这些examples .
Number.isInteger(parseFloat('134965.83') )// outputs false without division
根据 spec
If Type(argument) is not Number, return false.
If floor(abs(argument)) ≠ abs(argument), return false.
关于使用除法运算符的 JavaScript 除法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36147985/