小數例子:
PHP保留兩位小數并且四舍五入
~~~
$n=0.1265489;
echo sprintf("%.2f", $n); // 0.13
~~~
大家可以看到我們用到了`sprintf`函數對`$n`進行了格式化`%.2f`是目標格式,其中2表示兩位,`f`表示float(浮點型), 第3位小數6被四舍五入,再看個例子:
~~~
$n=0.1265489
~~~
echo substr(sprintf("%.3f",$n),0,-1);// 0.12代碼輸出了保留2為小數沒有四舍五入,實際上我們了解了sprintf的特性會四舍五入小數后我們多保留了一位,然后用substr來截取前2位
取整例子:
echo ceil(4.1); // 5
echo ceil(9.999); // 10ceil函數是向上取整函數,什么叫向上呢? 就是說如果超出一點點那就向前進一位如例子中4.1就變成了
跟它相反還有一個函數叫floor我們看看它的用法
~~~
echo floor(4.1); // 4
echo floor(9.999); // 9
~~~
floor的特性在第二個輸出中顯的特別明顯,那就是不給你多少位小數哪怕是無限接近10也沒有用,向下取到的整數就是9。
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
?>
~~~
round函數在PHP手冊中的說明是:
> float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )
返回將 val 根據指定精度 precision(十進制小數點后數字的數目)進行四舍五入的結果。precision 也可以是負數或零(默認值)。
round 的參數一是數據源,參數二是要保留的小數位而且之后一位(比如你輸入2那么第3為是之后一位)被四舍五入,當他是負數的時候,從數據源最后一位開始往前數相應的長度制0并將最后一位四舍五入比如round(123456,-2) 就是123456從6開始往前數兩位都變成零,并且最后一位5(從后往前數第一位是6最后一位是5)被四舍五入,輸出123500
- 目錄
- Array
- array_column()
- 數組和變量
- compact() 函數
- extract() 函數
- Url
- base64_encode — 使用 MIME base64 對數據進行編碼
- 圖像
- getimagesize()
- 隨機數
- getrandmax
- mt_getrandmax
- mt_rand
- rand
- empty函數
- exec()函數
- 權限修改
- 可變函數
- 函數閉包
- 報警級別
- 持續函數
- 自定義
- 字符處理
- 中文首字母
- 隨機字符串
- url函數
- parse_url_param
- 頁面采集
- 簡單采集
- Referer采集
- CURL
- 發送json數據
- Curl多線程
- 文件處理
- 遞歸刪除
- 圖片顯示
- 類方法
- 保留字
- 檢查類文件名稱
- Cookie
- 數組
- 數學函數
- 第三方函數庫
- 精度計算
- BC Math
- 計算執行時間
- 日期時間
- 時間戳
- header
- 調試函數
- get_class
- get_class_methods
- 數組函數
- array_intersect_key()
- 二維數組
- Base64編碼
- URL安全
- 加密擴展
- Hash函數
- hash_file
- hash_hmac
- hash_algos
- 文件讀寫
- is_writable()
- file_put_contents()