JS中保留n位小数
js里内置有保留小数的函数toFixed()
和Math.floor()
,小编以保留两位为例。
1.toFixed()
let val = 123.456789;
let num1 = val.toFixed(2); //保留两位小数,会四舍五入
console.log(num1); //123.46(string类型)
但是toFixed()方法会将number转换为string类型,如果后端有类型要求,则需要再将string转为number
//隐式转换
let num2 = +num1;
console.log(num2); //123.46(number类型)
//利用函数转换
let num3 = parseFloat(num1);
console.log(num3); //123.46(number类型)
2.Math.floor()
Math.floor()是将括号类的数字保留为整数。
let val = 123.456789;
let num = Math.floor(val * 100) / 100;
console.log(num); //123.45(number类型)
需要注意的是Math.floor()
不会四舍五入,而toFixed()
会,在实际情况中要分情况使用。