日期:2014-05-16  浏览次数:20407 次

关于精度的问题,数据类型自动四舍五入保留9位
代码如下:

var a = 10000002.20120606151458483;
alert(a);

这时弹出的数值被自动四舍五入了,变成10000002.201206062
如何能保留所有位数精度呢?

------解决方案--------------------
探讨

我用Json.Net序列化List<T>类型,其中类型有个字段是decimal的,序列化出来后值就是不带引号的。

------解决方案--------------------
用javascript处理浮点数本身就不是一个好的方法!

建议楼主还是转到服务器端代码中处理吧!
------解决方案--------------------
<script type="text/javascript">
var a = 10000002.20120606151458483;
var b=5/1.0e10;
a+=b;
alert(a);
</script>
这样试试
------解决方案--------------------
额不好意思 好像是失败了
------解决方案--------------------
不行 对浮点数的操作不能精确
------解决方案--------------------
var a = 10000002.20120606151458483; 
当执行这条语句时就已经把后面的截掉了,对a怎么操作都不行了
还是要在服务器端来解决, 5楼的方法可行不
------解决方案--------------------
你为啥序列化的时候就将它加上引号变成字符串呢
------解决方案--------------------
要么弄成字符串 要么交给服务器端 处理