php小數點兩位
1. php保留數字小數點後兩位的方法
在日常的學習與生活中,我們時常會遇到需要保留數字小數點後兩位的問題。本文將為您介紹使用PHP保留數字小數點後兩位的方法。下面將通過具體的代碼示例,為您詳細介紹幾種不同方法。
方法一:使用`round()`函數進行四捨五入,保留小數點後兩位。
方法二:使用`ceil()`函數進行四捨五入,保留小數點後兩位。
方法三:使用`floor()`函數進行不進行四捨五入,保留小數點後兩位。
方法四:使用`sprintf()`函數進行四捨五入,並自動補充後面0,主要應用在顯示金額場景。
方法五:使用`number_format()`函數進行四捨五入,並自動補充後面0。
方法六:使用高精度函數進行不進行四捨五入,保留小數點後兩位,並自動補充後面0。
方法七:使用高精度函數進行四捨五入,保留小數點後兩位。
通過本文的介紹,您已經對使用PHP保留數字小數點後兩位的方法有了深入了解。更多關於PHP保留數字小數點後兩位的資料請關注我們的網站。
2. PHP 保留小數點後2位
兩種取值法,看你需要什麼結果:
1 四捨五入(簡單,自帶函數就可以解決)
$youWantNum=sprintf('%.2f',$num);
//有人說用floor,floor是取整的函數,無法直接取小數;但可以轉換得到結果,那就是下面的例子
2 捨去後面的,不管是什麼
/*
*$num要處理的浮點數
*$digits保留的小數位數
*實現思路:先乘以10的小數位數次方,用floor向下取整,再除以除數得到捨去後面位數的結果
*最後再用sprintf配合位數再取一次值(此處是為了解決有些數字,最後一位為零時不顯示問題)
*/
functionfloorFloat($num,$digits){
$num=floatval($num);
$multiple=pow(10,$digits);
$tempNum=floor($num*$multiple);
returnsprintf('%.'.$digits.'f',$tempNum/$multiple);
}
3. PHP如何顯示兩位小數
一round()函數:
floatround(float$val[,int$precision])
返回將val根據指定精度precision(十進制小數點後數字的數目)進行四捨五入的結果。
precision也可以是負數或零(默認值)。
例如:
echoround(3.6);//4
echoround(3.6,0);//4
echoround(1.95583,2);//1.96
$a=12345678;
echoround($a,-3);//12346000
但是有時候如遇到這樣的數字就不行了,12.3,13.4,15,6
//我們要轉為12.30,13.40,15,60,這樣的值,就得用另外一種強大的方法了。
二sprintf()[或者printf()函數]函數
此函數源於c中強的printf()函數。所以是一個強大的格式化工具。
說明:
stringsprintf(string$format[,mixed$args[,mixed$...]])
format包含:
其格式(format)有如下值:
d有符號10進制整數
i有符號10進制整數
o無符號8進制整數
u無符號10進制整數
x無符號的16進制數字,並以小寫abcdef表示
X無符號的16進制數字,並以大寫ABCDEF表示
F/f浮點數
E/e用科學表示格式的浮點數
g使用%f和%e表示中的總的位數表示最短的來表示浮點數G同g格式,但表示為指數
c單個字元
s字元串
%顯示百分號本身
4. php怎麼保存小數點後兩位並且四捨五入
php保留兩位小數並且四捨五入
代碼如下:
$num = 123213.666666;
echo sprintf("%.2f", $num);
php保留兩位小數並且不四捨五入
代碼如下:
$num = 123213.666666;
echo sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -2));
php進一法取整
代碼如下:
echo ceil(4.3); // 5
echo ceil(9.999); // 10
php捨去法,取整數
代碼如下:
echo floor(4.3); // 4
echo floor(9.999); // 9
5. 請教,php保留兩位小數,但不四捨五入
使用bc一類的函數,按字元串方式運算即可。
/**
*數值非四捨五入保留兩位小數
*@authorZjmainstay
*@websitehttp://www.zjmainstay.cn
*@param$num數值
*@return保留兩位小數
*/
functiongetNum($num,$scale=2){
$numStr=(string)$num.str_repeat('0',$scale);
//匹配精度前的數值
if(preg_match('#^d+.d{0,'.$scale.'}#',$numStr,$match)){
return$match[0];
}else{
return'0';
}
}
echogetNum(10.0253)." ";
echogetNum(0.5)." ";
6. 用php使數字保留小數點後兩位怎麼做的
PHP 中的 round() 函數可以實現
round() 函數對浮點數進行四捨五入。
round(x,prec)
參數說明
x 可選。規定要舍入的數字。
prec 可選。規定小數點後的位數。
返回將 x 根據指定精度 prec (十進制小數點後數字的數目)進行四捨五入的結果。prec 也可以是負數或零(默認值)。
注釋:PHP 默認不能正確處理類似 "12,300.2" 的字元串。
例如:
<?php
echo round(-4.635,2);
?>
輸出: -4.64