JS 控制小数位数的实现代码_javascript技巧
程序员文章站
2022-04-22 20:50:13
...
昨天在用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;
}
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控制表单提交的方法_javascript技巧
-
js实现点小图看大图效果的思路及示例代码_javascript技巧
-
asp 的 分词实现代码_javascript技巧
-
学习drag and drop js实现代码经典之作_javascript技巧
-
javascript下搜索子字符串的的实现代码(脚本之家修正版)_javascript技巧
-
js实现的四级左侧网站分类菜单实例_javascript技巧
-
js实现延时加载Flash的方法_javascript技巧
-
基于JS实现PHP的sprintf函数实例_javascript技巧
-
js获取隐藏元素宽高的实现方法_javascript技巧
-
各情景下元素宽高的获取实现代码_javascript技巧