在 Javascript 中,四舍五入用 Math.round() 和 toFixed() 方法实现;前者只能取到整数部分,小数全部舍弃,如果要保留小数位,还得加些辅助代码;后者可任意保留小数位。下面先介绍 Math.round() 和 toFixed() 的简单用法,再介绍把它们位封装成可直接调用的方法。
一、js四舍五入的方法
1、方法:
Math.round(d);//d 为任意有效数值
NumberObject.toFixed(len);//len 为要保留的小数位数
2、Math.round 示例(取整):
Math.round(2.4);//输出:2
Math.round(2.5);//输出:3
Math.round(2.44);//输出:2
Math.round(2.54);//输出:3
Math.round(2.455);//输出:2
从输出结果可以看出,round() 方法只看小数点后的数是否大于等于5;如果是,则向前进1;如果不是,不管后面是否大于等于5都不向前进1。
3、NumberObject.toFixed 示例(保留指定小数位数):
var num = 2.4893;
num.toFixed(2);//保留2位小数,输出:2.49
num.toFixed(3);//保留3位小数,输出:2.489
num.toFixed(1);//保留1位小数,输出:2.5
二、js四舍五入返回整数时不保留小数位
Math.round()本身无法保留小数位,所以要实现保留指定的小数位(如2位,3位等),还要加几名代码,实现方法如下:
//取得整数时,不保留小数位,如,2.999,保留2位小数,返回 3
//num:待四舍五入数值,len:保留小数位数
function GetRound(num, len) {
return Math.round(num * Math.pow(10, len)) / Math.pow(10, len);
}
调用方法:
GetRound(2.999, 2);//保留2位小数,返回 3
GetRound(2.989, 2);//保留2位小数,返回 2.99
三、js四舍五入任何情况下都保留小数位
//保留小数位的四舍五入,如,2.999,保留2位小数,返回 3.00
//num:待四舍五入数值,len:保留小数位数
function GetRoundDd(num, len) {
return num.toFixed(len);
}
调用方法:
GetRoundDd(2.999, 2);//保留2位小数,返回 3.00
GetRoundDd(2.989, 2);//保留2位小数,返回 2.99
为了便于调用,分别把js四舍五入的语句封闭成了方法,如果返回整数时不需要保留小数位,则调用第二点的方法 GetRound(num, len);如果任何情况下都要求保留小数位,则调用第三点的方法 GetRoundDd(num, len)。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/36865.html