JS 控制小数位数的实现代码
更新时间:2011年08月02日 23:23:08 作者:
上网查一查的确存在这种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;
}
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事件Event元素(兼容IE,Firefox,Chorme)
今天,想聊聊JS事件对象。相信大家对于获得激发JS事件的原对象的理解,有的人可能简单停留在IE上。也就是window.event这个对象2012-11-11
BootStrap Table前台和后台分页对JSON格式的要求
Bootstrap是一款前端非常流行的框架,其中的表格更为大家经常使用。下面通过本文给大家介绍BootStrap Table前台和后台分页对JSON格式的要求,一起看看吧2017-06-06
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
这篇文章主要介绍了Javascript面向对象程序设计工厂模式,结合实例形式分析了《javascript设计模式》中Javascript面向对象工厂模式相关概念、原理、用法及操作注意事项,需要的朋友可以参考下2020-04-04
在 JavaScript 中管理 Token 的最佳实践记录
文章介绍了在JavaScript中管理Token的最佳实践,包括Token的作用、存储方式、代码实现和安全性考虑,通过示例代码,展示了如何在不同环境中动态设置Token作用域,并提供了安全存储和保护Token的方法2024-11-11


最新评论