上网查一查的确存在这种Bug,除了位数上控制之外也没什么也好的方法(希望高手能提出其它思路)。
昨天在用JS对前台浮点数进行合算时发现: 
0.05+1.08=1.1300000000000001 
  上网查一查的确存在这种Bug,除了位数上控制之外也没什么也好的方法(希望高手能提出 
其它思路)。 
  于是自己编写一个控制小数位数的JS方法,解决开发燃眉之急 
复制代码 代码如下:
 
//小数位数控制,可以四舍五入 
function Fractional(n) { 
//小数保留位数 
var bit = 2; 
//加上小数点后要扩充1位 
bit++; 
//数字转为字符串 
n = n.toString(); 
//获取小数点位置 
var point = n.indexOf('.'); 
//n的长度大于保留位数长度 
if (n.length > point + bit) { 
//保留小数后一位是否大于4,大于4进位 
if (parseInt(n.substring(point + bit, point + bit + 1)) > 4) { 
return n.substring(0, point) + "." + (parseInt(n.substring(point + 1, point + bit)) + 1); 
} 
else { 
return n.substring(0, point) + n.substring(point, point + bit); 
} 
} 
return n; 
} 
您可能感兴趣的文章:
