本文目錄一覽:
- 1、php四捨五入怎樣實現
- 2、php取整的幾種方式
- 3、PHP 保留小數點後2位
- 4、php程序如何實現四捨五入和無條件捨去、無條件進入法?
- 5、php函數裡面什麼是捨去法取整?
- 6、php中的四捨五入函數代碼(floor函數、ceil函數、round與intval)
php四捨五入怎樣實現
1.round
($aaa,四捨五入的位數為可選參數
);
2.ceil($aaa);進一法取整
3.floor($aaa);捨去法取整
具體可查看PHP手冊里德數學函數庫
php取整的幾種方式
有三種方式,分別是floor()(捨去小數部分,只取整數),ceil()(進一取整,只要有小數部分,直接加一),round()(四捨五入取整)。。。
PHP 保留小數點後2位
兩種取值法,看你需要什麼結果:
1 四捨五入(簡單,自帶函數就可以解決)
$youWantNum = sprintf(‘%.2f’, $num);
//有人說用floor,floor是取整的函數,無法直接取小數;但可以轉換得到結果,那就是下面的例子
2 捨去後面的,不管是什麼
/*
*$num 要處理的浮點數
*$digits 保留的小數位數
* 實現思路:先乘以10的小數位數次方,用floor向下取整,再除以除數得到捨去後面位數的結果
* 最後再用sprintf配合位數再取一次值(此處是為了解決有些數字,最後一位為零時不顯示問題)
*/
function floorFloat($num, $digits) {
$num = floatval($num);
$multiple = pow(10, $digits);
$tempNum = floor($num*$multiple);
return sprintf(‘%.’.$digits.’f’, $tempNum/$multiple);
}
php程序如何實現四捨五入和無條件捨去、無條件進入法?
floor() 函數:
?php
echo(floor(0.60));
echo(floor(0.40));
echo(floor(5));
echo(floor(5.1));
echo(floor(-5.1));
echo(floor(-5.9))
?
輸出
5
5
-6
-6
ceil() 函數向上舍入為最接近的整數。
?php
echo(ceil(0.60);
echo(ceil(0.40);
echo(ceil(5);
echo(ceil(5.1);
echo(ceil(-5.1);
echo(ceil(-5.9));
?
輸出
1
1
5
6
-5
-5
round() 函數對浮點數進行四捨五入。
?php
echo(round(0.60));
echo(round(0.50));
echo(round(0.49));
echo(round(-4.40));
echo(round(-4.60));
?
輸出
1
1
-4
-5
等函數
php函數裡面什麼是捨去法取整?
捨去法就是去除小數點之後的數字,用floor函數可以實現,floor函數表示向下舍入為最接近的整數。例如:
floor(5.2) 結果等於5
floor(6.8) 結果等於6
php中的四捨五入函數代碼(floor函數、ceil函數、round與intval)
floor函數和ceil函數互相搭配起來可以使php
處理的數據更加真實可靠。
一、先來看floor函數:
語法:
float
floor
(
float
value
)
說明:
返回不大於
value
的下一個整數,將
value
的小數部分捨去取整。floor()
返回的類型仍然是
float,因為
float
值的範圍通常比
integer
要大。
floor()
例子
1
?php
echo
floor(1.6);
//
will
output
“1”
echo
floor(-1.6);
//
will
output
“-2”
?
floor()
例子
2
?php
echo(floor(0.60));
echo(floor(0.40));
echo(floor(5));
echo(floor(5.1));
echo(floor(-5.1));
echo(floor(-5.9))
?
輸出:
5
5
-6
-6
二、ceil函數:
語法:
float
ceil
(
float
value
)
說明:
返回不小於
value
的下一個整數,value
如果有小數部分則進一位。ceil()
返回的類型仍然是
float,因為
float
值的範圍通常比
integer
要大。
ceil()
例子:
?php
echo
ceil(4.3);
//
5
echo
ceil(9.999);
//
10
echo
ceil(-3.14);
//
-3
?
看到這兩個函數的區別了么。。
在分頁時我們會常用到的
//頁碼計算:
$lastpg=ceil($totle/$displaypg);
//最後頁,也是總頁數,用ceil就方便多了。
$lastpg=$lastpg
?
$lastpg
:
1;
//沒有顯示條目,置最後頁為1
$page=min($lastpg,$page);
$prepg=$page-1;
//上一頁
$nextpg=($page==$lastpg
?
:
$page+1);
//下一頁
$firstcount=($page-1)*$displaypg;
當然,如果需要制定精度就需要使用round函數了。
三、round函數:
語法:
float
round
(
float
val
[,
int
precision]
)
說明:
返回將
val
根據指定精度
precision(十進位小數點後數字的數目)進行四捨五入的結果。precision
也可以是負數或零(默認值)。
round()
例子
?php
echo
round(3.4);
//
3
echo
round(3.5);
//
4
echo
round(3.6);
//
4
echo
round(3.6,
0);
//
4
echo
round(1.95583,
2);
//
1.96
echo
round(1241757,
-3);
//
1242000
echo
round(5.045,
2);
//
5.05
echo
round(5.055,
2);
//
5.06
?
四、intval—對變數轉成整數型態
變數轉成整數類型。
語法:
int
intval(mixed
var,
int
[base]);
返回值:
整數
函數種類:
PHP
系統功能
內容說明
本函數可將變數轉成整數類型。可省略的參數
base
是轉換的基底,默認值為
10。轉換的變數
var
可以為數組或類之外的任何類型變數。
例子intval()
?php
echo
intval(4.3);
//4
echo
intval(4.6);
//
4
?
註:intval如果是字元型的會自動轉換為0
如
intval(‘abc’);
輸出結果
如果是
intval(‘5fd’);
輸出結果是
5
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/195723.html