小数取整
发布日期: 2024-04-16
FontSize: 【小 中 大】

在数字处理中,经常会遇到除不尽,显示太多的小数位像是程序出了bug一样,一般情况下,最多保留两位小数或者保留为整数。无论哪一种要求,都会用到数字取整功能。
取整分为多种方式,包括向下取整,向上取整,四舍五入。例如3.1415925,向下取整是3,向上取整是4,四舍五入是3。
js小数取整
向下取整Math.floor:
let num = 3.1415926;
let roundedDownNum = Math.floor(num);
console.log("向下取整:" + roundedDownNum); // 输出 3
向上取整Math.ceil:
let num = 3.1415926;
let roundedUpNum = Math.ceil(num);
console.log("向上取整:" + roundedUpNum); // 输出 4
四舍五入Math.round:
let num = 3.1415926;
let roundedNum = Math.round(num);
console.log("四舍五入取整:" + roundedNum); // 输出 3
如何四舍五入保留两位小数
let num = 3.1415926;
let roundedNum2 = Math.round(num * 100) / 100;
console.log("四舍五入保留两位小数:" + roundedNum2); // 输出 3.14
测试一下:
<pre id="test"></pre>
<script type="text/javascript">
let num = 3.1415926;
let html = "<p>num:" + num + "</p>";
let roundedDownNum = Math.floor(num);
console.log("向下取整:" + roundedDownNum); // 输出 3
html += "<p>向下取整:" + roundedDownNum + "</p>";
let roundedUpNum = Math.ceil(num);
console.log("向上取整:" + roundedUpNum); // 输出 4
html += "<p>向上取整:" + roundedUpNum + "</p>";
let roundedNum = Math.round(num);
console.log("四舍五入取整:" + roundedNum); // 输出 3
html += "<p>四舍五入取整:" + roundedNum + "</p>";
let roundedDownNum2 = Math.floor(num * 100) / 100;
console.log("向下保留两位小数:" + roundedDownNum2); // 输出 3.14
html += "<p>向下保留两位小数:" + roundedDownNum2 + "</p>";
let roundedUpNum2 = Math.ceil(num * 100) / 100;
console.log("向上保留两位小数:" + roundedUpNum2); // 输出 3.15
html += "<p>向上保留两位小数:" + roundedUpNum2 + "</p>";
let roundedNum2 = Math.round(num * 100) / 100;
console.log("四舍五入保留两位小数:" + roundedNum2); // 输出 3.14
html += "<p>四舍五入保留两位小数:" + roundedNum2 + "</p>";
let roundedNum3 = Math.round(num * 1000) / 1000;
console.log("四舍五入保留三位小数:" + roundedNum3); // 输出 3.142
html += "<p>四舍五入保留三位小数:" + roundedNum3 + "</p>";
document.getElementById("test").innerHTML = html;
</script>
php取整基本上和js差不多,各种语言上大同小异。
php小数取整
向下取整floor()
$num = 3.1415926;
$roundedDownNum = floor($num);
echo $roundedDownNum; // 输出 3
向上取整ceil()
$num = 3.1415926;
$roundedUpNum = ceil($num);
echo $roundedUpNum; // 输出 4
四舍五入取整round()
$num = 3.1415926;
$roundedNum = round($num);
echo $roundedNum; // 输出 3
四舍五入保留三位小数number_format()
//方法1
$roundedNum = round($num,3);
echo "
四舍五入保留三位小数:",$roundedNum; // 输出 3.142
//方法2
$roundedNum = round($num * 1000)/1000;
echo "
四舍五入保留三位小数:",$roundedNum; // 输出 3.142
//方法3
$formattedNum = number_format($num, 3);
echo "
四舍五入保留三位小数:",$formattedNum; // 输出 3.142