昨天在用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;
}
标签:
小数位数
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“JS 控制小数位数的实现代码”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。