2015-07-20 43 views
0

您好我有JS就像两个变量:添加后在JavaScript中的两个变量返回的一些垃圾值

var a = 223620.42 
var b = 1200.1234 

我使用的计算一样:

var c = parseFloat(a) + parseFloat(b); 

所以结果应该是= 224820.5434

但它返回224820.54340000002

P租赁建议我在这里做错了什么。在此先感谢

+0

精度是固定的? –

+2

[浮点数学被破坏?](http://stackoverflow.com/questions/588004/is-floating-point-math-broken) – jasonscript

+0

可能重复小数点后我想显示,因为它不是任何精度.. –

回答

0

只是舍弃最后的值。看到代码如下:

var a = 223620.42 
var b = 1200.1234 
var c = parseFloat(a) + parseFloat(b); 
var numb = c.toFixed(4); 
alert(numb); 

希望它能解决你的问题。

0

尝试使用“toPrecision”方法,并指定所需的数字长度。

var a = 223620.42 var b = 1200.1234 var c = parseFloat(a) + parseFloat(b);

c= c.toPrecision(3)

+0

它给出结果c = 2.2e + 5。我希望224820.5434 –

+0

如果数字中的整数位数多于指定的精度,“toPrecision”将产生科学记数法。 或者你可以去“toFixed”。 检查此问题http://stackoverflow.com/questions/3337849/difference-between-tofixed-and-toprecision – Nishant