记录分享知识
关于本站 写备忘 注册
首页 > 计算机技术 > 前端开发 > JavaScript

JavaScript实现保留小数点后几位,自动补零,四舍五入

原创 lihf8515于2025年02月07日 10:55发表
来源:本站 阅读:94

JavaScript并没有现成的保留小数点后几位,四舍五入的函数。因此,我们自己编写一个。


源代码中需要说明的是:


Object.is()是es6引入的、用于判断两个或者多个数据是否全等的方法。很重要的一个特点是Object.is(NaN,NaN)的结果是true。这里是判断这个值是否为数字,如果不为数字则 方法parseFloat 方法就不能转换,这里就会显示为true。

Number.EPSILON 可以用来设置“能够接受的误差范围”。比如,误差范围设为 2 的-50 次方(即Number.EPSILON * Math.pow(2, 2)),即如果两个浮点数的差小于这个值,我们就认为这两个浮点数相等, 这里是设置最小误差值 。

Math.pow 原始方法 这里是求 10的多少次方。


/**
* 保留小数点后几位数, 自动补零, 四舍五入
* @param num: 数值
* @param digit: 小数点后位数
* @returns string
* Object.is()是es6引入的、用于判断两个或者多个数据是否全等的方法。很重要的一个特点是Object.is(NaN,NaN)的结果是true 这里是判断这个值是否为数字 如果不为数字则 方法parseFloat 方法就不能转换 这里就会 显示为true
* Number.EPSILON 可以用来设置“能够接受的误差范围”。比如,误差范围设为 2 的-50 次方(即Number.EPSILON * Math.pow(2, 2)),即如果两个浮点数的差小于这个值,我们就认为这两个浮点数相等。 这里是设置最小误差值
* Math.pow 原始方法 这里是求 10的多少次方
*/
function myFixed(num, digit) {
if(Object.is(parseFloat(num), NaN)) {
return console.log(`传入的值:${num}不是一个数字`);
}
num = parseFloat(num);
return (Math.round((num + Number.EPSILON) * Math.pow(10, digit)) / Math.pow(10, digit)).toFixed(digit);
}
友情链接: 小财迷收银系统  
Copyright © 2025 HF备忘录. All Rights Reserved.
中华人民共和国工业和信息化部ICP备案序号:皖ICP备2025073039号