代码如下:
var numarr = [190.60,136.70];
var total = 0;
for(var i=0; i<numarr.length; i++)
{
var x = parseFloat(numarr[i]);
alert(x);
total += x;
alert(total)
}
执行完的结果竟然产生了很多的小数点。。这是怎么回事呢?
解决:
js数字转换为float,取N个小数 收藏
js数字转换为float,取N个小数:
=========================================
javascript中的变量都是弱类型,所有的变量都声明为var,在类型转换过程中就没有java那么方便,它是通过
parseInt(变量)、parseFloat(变量)等方法来进行类型转换的。注意:没有parseDouble(变量)这种类型转换,因为在
javascript中不分单精度float和双精度double,凡事有小数的变量都认为是float,因此要取小数后的n位,要用方法toFixed(n)来得到。
例如:
var f=2.56556;
f.toFixed(2);
可取到变量f小数后的2位,如果不是float型,还需要进行类型转换(parseFloat(变量名)),才能通过此方法获得。
用toFixed(2)方法可以保留2位小数!至于为什么会这样 我也不清楚
实用技巧->JavaScript
