我的方案是转换为字符串来进行处理,因为直接计算小数与任何数相乘(比如整数,小数)浏览器会计算不精确,出现一大段小数的问题 比如
[img]http://dl2.iteye.com/upload/attachment/0108/2572/9cdda949-fef3-3290-b9c8-cd00bc48fb04.png[/img]
具体方案课参考这段代码
[img]http://dl2.iteye.com/upload/attachment/0108/2572/9cdda949-fef3-3290-b9c8-cd00bc48fb04.png[/img]
具体方案课参考这段代码
计算小数点位置
function decimalPlaces(n) {
var p='',i=0;
p=n+'';
var indexE=p.indexOf('e');
var IndexPoint=p.indexOf('.');
if(indexE!=-1) //搜寻是否采用科学计数法
{
if(IndexPoint!=-1) //是否有小数点 有则加上小数点
{
i=indexE-IndexPoint-1+parseInt(p.substring(indexE+2));
console.log(i);
}
else
{
i=parseInt(p.substring(indexE+2));
console.log(i);
}
}
else if(IndexPoint!=-1) //未采用科学计数法 并且有小数点
{
i = p.length-IndexPoint-1;console.log(i)
}
else i=0;//NaN或inificial 或者是整数时
//console.log(p+'');
// console.log((p+'').indexOf('e'));
return i;
}
本文介绍了一种使用JavaScript函数精确计算小数点后位数的方法,通过分析输入数字的科学计数法表示,判断是否采用科学计数法及小数点位置,从而准确获取小数点后的位数。
2646

被折叠的 条评论
为什么被折叠?



