首页 > 实用技巧 > 为什么两个float数字相加产生了很多小数点?

为什么两个float数字相加产生了很多小数点?

代码如下:
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位小数!至于为什么会这样 我也不清楚





实用技巧->

发表评论

无觅相关文章插件,快速提升流量