javaScript

1、 js float 运算精度问题:

   var i=1.3;
   var n = i*10;
   alert(n);

得到 n为13.0000000000000001。

因为JavsScript中,变量在存储时并不区分number和float类型,而是统一按float存储。而javascript使用IEEE 754-2008 标准定义的64bit浮点格式存储number,按照IEEE 754的定义:
decimal64对应的整形部分长度为10,小数部分长度为16,所以默认的计算结果为“7.0000000000000001”,如最后一个小数为0,则取1作为有效数字标志。

因此可以:

   var i=1.3;
   var n = parseFloat(i*10);

posted on 2019-10-28 10:22  万象IT  阅读(118)  评论(0编辑  收藏  举报

导航