php有哪些保留兩位小數(shù)的方法?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、江山網(wǎng)絡(luò)推廣、微信小程序開發(fā)、江山網(wǎng)絡(luò)營銷、江山企業(yè)策劃、江山品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供江山建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
1.不進位的情況
比如3.149569取小數(shù)點后兩位,最后兩位不能四舍五入。結(jié)果:3.14。
可以使用 floor 函數(shù)
該函數(shù)是舍去取整。例如,floor(4.66456) 結(jié)果:4 。
floor(9.1254) 結(jié)果9 。
因此,去小數(shù)點后兩位,需要先乘以100,然后舍去取整,再除以100,即:
$a=floor(3.149569*100)/100
這時浮點計算會出現(xiàn)一個bug,通過PHP的無類型特性來解決這個問題,先strval轉(zhuǎn)成字符串,再自動識別類型。下面計算百分比已經(jīng)使用上strval()函數(shù)了
計算百分比
$successRate = floor(strval((2/3)*10000))/10000*100; $result = $successRate.'%';
2.四舍五入的情況
round 函數(shù)
float round ( float val [, int precision])
返回將 val 根據(jù)指定精度 precision(十進制小數(shù)點后數(shù)字的數(shù)目)進行四舍五入的結(jié)果。
precision 也可以是負數(shù)或零(默認值)。
sprintf 函數(shù)
實現(xiàn)四舍五入,并且如果是不帶小數(shù)位數(shù)的,會自動用指定的字符(指定的0)補至指定的小數(shù)位數(shù)
echo sprintf("%01.2f", 5.228); // 5.23 echo sprintf("%01.2f", 5.224); // 5.22 echo sprintf("%01.2f", 5); // 5.00number_format 函數(shù)
如果是不帶小數(shù)位數(shù)的,會自動用0補至指定的小數(shù)位數(shù)
echo number_format(5.228,2); // 5.23 echo number_format(5.224,2); // 5.22 echo number_format(5,2); // 5.00round 函數(shù)
此函數(shù)可以實現(xiàn)四舍五入,但是如果是不帶小數(shù)位數(shù)的,處理后也不帶小數(shù)數(shù)位
echo round(5.228,2); // 5.23 echo round(5.224,2); // 5.22 echo round(5,2); // 5php進一法取整
echo ceil(4.4); // 5 echo ceil(4.6); // 5php舍去法取整
echo floor(4.4); // 4 echo floor(4.6); // 4關(guān)于php有哪些保留兩位小數(shù)的方法問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
當前標題:php有哪些保留兩位小數(shù)的方法
分享地址:http://weahome.cn/article/jpgjdo.html