Posted in Javascript onAugust 02, 2011
昨天在用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; }
JS 控制小数位数的实现代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@