<script language="javascript">
var varStr = Math.floor(1111111111111111511.11111111);
alert(varStr);
</script>
只要前面整数超过16位就得不到正确结果,请问为什么,如何解决?
var varStr = Math.floor(1111111111111111511.11111111);
alert(varStr);
</script>
只要前面整数超过16位就得不到正确结果,请问为什么,如何解决?
解决方案 »
- MDAC目前最高版本不是2.8吗?注册表里查出的值怎么是 6.0.6002.18005??
- 怎样在搜索出来的内容中把用户输入法的关键字显示为红色字体?
- 请问如何动态修改(表格)颜色?
- SOS,关于ASP.NET调用EXE可执行文件问题
- 新手求各位指导.net的学习之路
- 请各位指条下载visual studio.net 2005 的明路,先谢了
- 请教,(怎么验证数据库里有没有该条记录)谢谢!
- 请问,我使用VS2003提示找不到类型或命名空间名称!
- 大家推荐一款好点的开放源代码的C#的论坛程序
- sqlserver 2000进行连接的时候,我不记得在安装时候要输入用户名和密码怎么办?
- You are not authorized to view this page
- 关于文件上传的问题
解决方法是用两个变量分别表示高字和低字。不过你用那么大的数字干嘛?
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
if(declen==null||isNaN(declen)||declen<0) declen=2;
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + num + '.' + cents);
}
----------------------------num 过大大于16位以上,num = Math.floor(num*100+0.50000000001);
这个函数求出的直益出了。好办法?