php有哪些保留兩位小數(shù)的方法

php有哪些保留兩位小數(shù)的方法?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、江山網(wǎng)絡(luò)推廣、微信小程序開發(fā)、江山網(wǎng)絡(luò)營(yíng)銷、江山企業(yè)策劃、江山品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供江山建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn

1.不進(jìn)位的情況

比如3.149569取小數(shù)點(diǎn)后兩位,最后兩位不能四舍五入。結(jié)果:3.14。

可以使用 floor 函數(shù)

該函數(shù)是舍去取整。例如,floor(4.66456) 結(jié)果:4 。

floor(9.1254) 結(jié)果9 。

因此,去小數(shù)點(diǎn)后兩位,需要先乘以100,然后舍去取整,再除以100,即:

$a=floor(3.149569*100)/100

這時(shí)浮點(diǎn)計(jì)算會(huì)出現(xiàn)一個(gè)bug,通過(guò)PHP的無(wú)類型特性來(lái)解決這個(gè)問題,先strval轉(zhuǎn)成字符串,再自動(dòng)識(shí)別類型。下面計(jì)算百分比已經(jīng)使用上strval()函數(shù)了

計(jì)算百分比

$successRate = floor(strval((2/3)*10000))/10000*100;
$result = $successRate.'%';

2.四舍五入的情況

round 函數(shù)

float round ( float val [, int precision])

返回將 val 根據(jù)指定精度 precision(十進(jìn)制小數(shù)點(diǎn)后數(shù)字的數(shù)目)進(jìn)行四舍五入的結(jié)果。

precision 也可以是負(fù)數(shù)或零(默認(rèn)值)。

<?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.04
echo round(5.055, 2);    // 5.06

sprintf 函數(shù)

實(shí)現(xiàn)四舍五入,并且如果是不帶小數(shù)位數(shù)的,會(huì)自動(dòng)用指定的字符(指定的0)補(bǔ)至指定的小數(shù)位數(shù)

echo sprintf("%01.2f", 5.228);  //  5.23
echo sprintf("%01.2f", 5.224);  //  5.22
echo sprintf("%01.2f", 5);      //  5.00

number_format 函數(shù)

如果是不帶小數(shù)位數(shù)的,會(huì)自動(dòng)用0補(bǔ)至指定的小數(shù)位數(shù)

echo number_format(5.228,2);    //  5.23
echo number_format(5.224,2);    //  5.22
echo number_format(5,2);        //  5.00

 round 函數(shù)

此函數(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);        //  5

 php進(jìn)一法取整

echo ceil(4.4);     //  5
echo ceil(4.6);     //  5

 php舍去法取整

echo floor(4.4);        //  4
echo floor(4.6);        //  4

關(guān)于php有哪些保留兩位小數(shù)的方法問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

新聞標(biāo)題:php有哪些保留兩位小數(shù)的方法
本文鏈接:http://muchs.cn/article10/jpgjdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站制作企業(yè)網(wǎng)站制作、營(yíng)銷型網(wǎng)站建設(shè)、企業(yè)建站、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司