使用前端JS函数进行处理 四舍五入保留后两位小数

1、toFixed()方法
介绍:这是JS自带的一个方法,可以四舍五入保留指定位数的小数,并且位数不够时可以自动补0
注意:保留两位小数,将数值类型的数据改变成了字符串类型
NumberObject.toFixed(num)—num是保留的位数,取值为0-20,默认为0
基础使用如下,自动补0等就不展示了

var num1 = 55.3715; 
console.log(num1.toFixed(2));

2、substr字符串截取
介绍:substr是字符串自带的一个方法,主要是进行字符串的截取,所以这里使用需要将整型先转变为字符串类型。不四舍五入。
注意:将数值类型的数据改变成了字符串类型
substr(start, length) 返回子字符串中要包含的第一个字符的索引,要提取的字符数

var num1 = 55.3785 + ""; 
console.log("substr方式保留两位小数:");
console.log(num1.substr(0,num1.indexOf(".")+3));

//输出55.37

3、Math自带的方法
Math.floor()

介绍:不四舍五入,向下取整。

注意:不改变数据类型

Math.floor(11.46)=Math.floor(11.68)=Math.floor(11.5)=11
Math.floor(-11.46)=Math.floor(-11.68)=Math.floor(-11.5)=-12

4、浮点数四舍五入

介绍:四舍五入,(小数点后第一位)大于五全部加,等于五正数加,小于五全不加

注意:不改变数据类型

//小数点后第一位<5
正数:Math.round(11.46)=11
负数:Math.round(-11.46)=-11
 
//小数点后第一位>5
正数:Math.round(11.68)=12
负数:Math.round(-11.68)=-12
 
//小数点后第一位=5
正数:Math.round(11.5)=12
负数:Math.round(-11.5)=-11

5、Math.ceil()

介绍:不四舍五入,向上取整。
注意:不改变数据类型

Math.ceil(11.46)=Math.ceil(11.68)=Math.ceil(11.5)=12
Math.ceil(-11.46)=Math.ceil(-11.68)=Math.ceil(-11.5)=-11

6、正则匹配
介绍: 不四舍五入,字符串匹配
注意:先转为字符串,再转为整型

Number(15.7784514000.toString().match(/^\d+(?:\.\d{0,2})?/))

7、补充:补位功能实现
有一些方法是没有自带补位的,这时如果业务需求是要自动补位,可以添加以下方法并去调用

var num1 = parseFloat(55); 
  if (!isNaN(num1)) { 
  num1 = Math.round(num1*100)/100; 
  var str = num1.toString(); 
   var rs = str.indexOf('.'); 
   if (rs < 0) { 
    rs = str.length; 
    str += '.'; 
   } 
   while (str.length <= rs + 2) { 
    str += '0'; 
   } 
  console.log("将浮点数四舍五入,取小数点后2位,位数不够进行补位:");
  console.log(str);
}

以上就是js保留小数的几种方法,可以根据自己的需要选择,toFixed是我自己比较常用比较好的方法,但是IE5.5以上的版本才支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linlinlove2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值