首页 技术文章 math

小数取整

发布日期: 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