首页
> 计算机技术
> 前端开发
> 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);
}
下一篇:js实现重复指定字符n次
阅读排行榜