Math函数
Math用于执行数学任务,提供了大量的数学运算的方法。
实现四舍五入
1、Math.round(number),整数四舍五入。
2、number.toFixed(2),number四舍五入保留2位小数。
四舍五入(ROUND_HALF_UP)及强制进位(ROUND_UP)
四舍五入(ROUND_HALF_UP)
/**
*四舍五入==>decimalNumber,decimalBits(保留小数位)
*/
function ROUND_HALF_UP(decimalNumber,decimalBits){
return Math.round(decimalNumber*(Math.pow(10, decimalBits)))/(Math.pow(10, decimalBits));
}
强制进位(ROUND_UP)
/**
* 强制进位==>decimalNumber,decimalBits(保留小数位)
*/
function ROUND_UP(decimalNumber,decimalBits){
return Math.ceil(decimalNumber*(Math.pow(10, decimalBits)))/(Math.pow(10, decimalBits));
}
参考:BigDecimal,ROUND_UP的进位制,商品单位的价格换算工具
案例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JavaScript,Math函数,四舍五入,强制进位(ROUND_UP)</title>
</head>
<body>
<div id="app"></div>
<script >
// 四舍五入
let a = Math.round(2.60);
console.log("a=",a); // 3
let b = Math.round(2.50);
console.log("b=",b); // 3
let c = Math.round(2.49);
console.log("c=",c); // 2
let d = Math.round(-2.60);
console.log("d=",d); // -3
let e = Math.round(-2.50);
console.log("e=",e); // -2
let f = Math.round(-2.49);
console.log("f=",f); // -2
// 四舍五入-->保留两位小数
let num1 =2.446123654;
num1 = num1.toFixed(2);
console.log("num1=",num1); // 2.45
let num2 =2.440012212;
num2 = num2.toFixed(2);
console.log("num2=",num2); // 2.44
// 四舍五入-->保留两位小数
let num3 =2.446123654;
let num4 =2.440012212;
console.log("num3=", ROUND_HALF_UP(num3, 2)); // 2.45
console.log("num4=", ROUND_HALF_UP(num4, 2)); // 2.45
Math.round(num2*(10*2))
/**
*四舍五入==>decimalNumber,decimalBits(保留小数位)
*/
function ROUND_HALF_UP(decimalNumber,decimalBits){
return Math.round(decimalNumber*(Math.pow(10, decimalBits)))/(Math.pow(10, decimalBits));
}
// JavaScript-->强制进位
let num5 =2.446123654;
let num6 =2.440012212;
console.log("num5=", ROUND_UP(num5, 2)); // 2.45
console.log("num6=", ROUND_UP(num6, 2)); // 2.45
/**
* 强制进位==>decimalNumber,decimalBits(保留小数位)
*/
function ROUND_UP(decimalNumber,decimalBits){
return Math.ceil(decimalNumber*(Math.pow(10, decimalBits)))/(Math.pow(10, decimalBits));
}
</script>
</body>
</html>