Javascript浮点计算错误

Javascript浮点计算错误,javascript,Javascript,我的web应用程序有一个问题(在chrome、firefox和nodejs上测试): 当我运行(1.2-1)时,它返回0.1999999999996作为结果 有人知道原因吗?您可以使用javascript的toFixed方法来了解更多细节: 编号方法 在JavaScript 1.5中实现 ECMAScript版本ECMAScript第三版 语法 数字。toFixed([位数]) 参数 数字 小数点后显示的位数;这可能是一个介于0和20之间(包括0和20)的值,并且实现可以选择支持更大范围的值。如

我的web应用程序有一个问题(在chrome、firefox和nodejs上测试):

当我运行(1.2-1)时,它返回0.1999999999996作为结果


有人知道原因吗?

您可以使用javascript的toFixed方法来了解更多细节:

编号方法

在JavaScript 1.5中实现

ECMAScript版本ECMAScript第三版

语法

数字。toFixed([位数])

参数

数字 小数点后显示的位数;这可能是一个介于0和20之间(包括0和20)的值,并且实现可以选择支持更大范围的值。如果省略此参数,则将其视为0

返回

数字的一种字符串表示形式,不使用指数表示法,小数点后正好有数字。如果需要,数字将四舍五入,如果需要,小数部分将用零填充,以使其具有指定的长度。若number大于1e+21,则此方法只调用number.toString()并以指数表示法返回字符串

投掷

范围错误 如果数字太小或太大。介于0和20之间(含0和20)的值不会导致Range错误。实现也可以支持更大和更小的值类型错误 如果在不是数字的对象上调用此方法


您可以使用javascript的toFixed方法了解更多详细信息:

编号方法

在JavaScript 1.5中实现

ECMAScript版本ECMAScript第三版

语法

数字。toFixed([位数])

参数

数字 小数点后显示的位数;这可能是一个介于0和20之间(包括0和20)的值,并且实现可以选择支持更大范围的值。如果省略此参数,则将其视为0

返回

数字的一种字符串表示形式,不使用指数表示法,小数点后正好有数字。如果需要,数字将四舍五入,如果需要,小数部分将用零填充,以使其具有指定的长度。若number大于1e+21,则此方法只调用number.toString()并以指数表示法返回字符串

投掷

范围错误 如果数字太小或太大。介于0和20之间(含0和20)的值不会导致Range错误。实现也可以支持更大和更小的值类型错误 如果在不是数字的对象上调用此方法


您可以解决您的问题:
(1.2-1)。要确定(1)*1//0.2,您可以解决您的问题:
(1.2-1).toFixed(1)*1//0.2

此页面可能会帮助您:您也可以尝试此:
((1.2*10-1*10)/10)====0.2
此页面可能会帮助您:您也可以尝试此:
((1.2*10-1*10)/10)===0.2
。这工作做得很好。那很好