前言:这玩意其实开发的时候经常会遇到,我也不知道为啥,趁机会记一下吧- -
四舍五入
- 注意:保留两位小数,将数值类型的数据改变成了字符串类型
1 2 3
| var num = 2.447562341; num = num.toFixed(2); console.log(typeof num)
|
不四舍五入
- 第一种,先把小数变整数,再除,向下取整
- 注意,不改变数据类型
1
| Math.floor(17.79845550 * 100) / 100
|
- 第二种,当作字符串,使用正则匹配:
- 注意,先将数据转换为字符串,最后再转为数值类型
1
| Number(17.79845550.toString().match(/^\d+(?:\.\d{0,2})?/))
|
注意:如果是负数,要先转换为正数再计算,最后再转回负数
Js取float型小数点后两位数的方法
- 将浮点数四舍五入,取小数点后2位
1 2 3 4 5 6 7 8 9 10 11
| function toDecimal(x) { var num = parseFloat(x); if (isNaN(num)) { alert('传参类型错误,请检查!') return; } num = Math.round(x*100)/100; return num; }
console.log(toDecimal(2.447562341))
|
Js中部分对小数的操作
- 丢弃小数部分,保留整数部分
- 向上取整,有小数就整数部分加1
- 四舍五入
- 向下取整