项目中要计算修约值,规则是四舍六入五成双
什么是四舍六入五成双?
四舍六入五考虑,
五后非零就进一,
五后皆零看奇偶,
五前为偶应舍去,
五前为奇要进一。
方法:
@num:数字
@decimalPlaces:保留小数点位数
function numMethods(num,decimalPlaces){
var d = decimalPlaces || 0; var m = Math.pow(10, d);
var n = +(d ? num * m : num).toFixed(8); // 避免舍入错误
var i = Math.floor(n), f = n - i;
var e = 1e-8; // 考虑f中的舍入误差
var r = (f > 0.5 - e && f < 0.5 + e) ? ((i % 2 == 0) ? i : i + 1) : Math.round(n);
return d ? r / m : r;
}
转自:https://blog.csdn.net/qq_33040483/article/details/79173311