php保留兩位小數

2022-05-20 16:56:28 字數 2018 閱讀 6208

1.不進製的情況

比如3.149569取小數點後兩位,最後兩位不能四捨五入。結果:3.14。

可以使用floor 函式

該函式是舍去取整。例如,floor(4.66456) 結果:4 。

floor(9.1254) 結果9 。

因此,去小數點後兩位,需要先乘以100,然後舍去取整,再除以100,即:

$a=floor(3.149569*100)/100

這時浮點計算會出現乙個bug,通過php的無型別特性來解決這個問題,先strval轉成字串,再自動識別型別。下面計算百分比已經使用上strval()函式了

計算百分比

$successrate = floor(strval((2/3)*10000))/10000*100;

$result = $successrate.'%';

2.四捨五入的情況

round 函式

float

round ( float val [, int precision])

返回將 val 根據指定精度 precision(十進位制小數點後數字的數目)進行四捨五入的結果。

precision 也可以是負數或零(預設值)。

<?php

echo

round(3.4); //

3echo

round(3.5); //

4echo

round(3.6); //

4echo

round(3.6, 0); //

4echo

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 函式

實現四捨五入,並且如果是不帶小數字數的,會自動用指定的字元(指定的0)補至指定的小數字數

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 函式

如果是不帶小數字數的,會自動用0補至指定的小數字數

echo

number_format(5.228,2); //

5.23

echo

number_format(5.224,2); //

5.22

echo

number_format(5,2); //

5.00

round 函式

此函式可以實現四捨五入,但是如果是不帶小數字數的,處理後也不帶小數數字

echo

round(5.228,2); //

5.23

echo

round(5.224,2); //

5.22

echo

round(5,2); //

5

php進一法取整

echo

ceil(4.4); //

5echo

ceil(4.6); //

5

php捨去法取整

echo

floor(4.4); //

4echo

floor(4.6); //

4

php保留兩位小叔 php保留兩位小數的方法

如下所示 num 10.4567 第一種 利用round 對浮點數進行四捨五入 echo round num,2 第二種 利用sprintf格式化字串 format num sprintf 2f num echo format num 第三種 利用千位分組來格式化數字的函式number format...

php數字兩位小數 PHP保留兩位小數的幾種方法

如下所示 num 10.4567 第一種 利用round 對浮點數進行四捨五入 echo round num,2 第二種 利用sprintf格式化字串 format num sprintf 2f num echo format num 第三種 利用千位分組來格式化數字的函式number format...

保留兩位小數

1.只要求保留n位不四捨5入 float f 0.55555f int i int f 100 f float i 1.0 100 2.保留n位,四捨五入 decimal d decimal.round decimal.parse 0.55555 2 3.保留n位四捨五入 math.round 0....