2013-10-15 77 views

回答

0

的一种方法是通过使用toFixed()方法将它们转换为字符串值

var fl1 = 0.11; 
var fl2 = 0.11; 

if (fl1.toFixed(10) == fl2.toFixed(10)) 
{ 
    //same value 
} 
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,但下面的规则可以帮助您避免错误

  1. 不做平等检查
  2. 如果您知道面额后的最大分数(例如货币商店乘以该基数乘以价值)的关键浮动情况。

货币存储在美分,而不是dollors。

54.67 as 5467 ---在显示前除以100。

更多阅读下面的帖子(其为C++,但会给浮点错误回报的见解)

http://www.codeproject.com/Articles/29637/Five-Tips-for-Floating-Point-Programming

相关问题