JS15 -- 小数(保留小数点后几位,小数点失精)
1.split分割小数点前后,分类获取
/*
* val 传入的值;bit 保留几位
* 返回是字符串
*/
function num (val,bit) {
let arrMoney = val.toString().split('.');
if(arrMoney.length === 1) { // 传入来没小数点时
return val
} else {
return arrMoney[0] + '.' + arrMoney[1].substr(0,bit);
}
}
2.四舍五入
function num (val, bit) {
return val.toFixed(bit)
}
3.小数点失精
let f1 = 0.00001 * 100; let f2 = 0.000001 * 100; console.log(f1) // 0.001 console.log(f2) // 0.00009999999999999999 // 解决方法:先乘以比小数位大的整数,再除以比小数位大的整数/100 let f4 = (0.000001 * 100000000) / 1000000; // (100000000 / 1000000) = 100; console.log(f4)
let f3 = 0.0000001 * 100; console.log(f3) // 0.000009999999999999999
.lgyong

浙公网安备 33010602011771号