答案 0 :(得分:0)
比较浮点数的一种方法是使用toFixed()方法将它们转换为字符串值
var fl1 = 0.11;
var fl2 = 0.11;
if ( fl1.toFixed(10) == fl2.toFixed(10) )
{
//same value
}
答案 1 :(得分:0)
Javascript数字是64位浮点数。请参阅此ECMAScript规范。
http://www.ecma-international.org/ecma-262/5.1/#sec-4.3.19
任何编程语言中的浮点运算都容易出错,并不总是保证准确。有关浮点airthmatic的更多信息,请参阅以下内容
http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
了解更多信息,请参阅以下QA
Is floating point math broken?
是的 WAT ,但遵循规则可以帮助您避免错误
以美分而不是美元来存储货币。
54.67为5467 ---并在显示之前除以100。
更多阅读以下帖子(对于c ++,但会给出浮点错误的见解)
http://www.codeproject.com/Articles/29637/Five-Tips-for-Floating-Point-Programming