php中的round
A. php中round(3,4);是什麼意思
對3這個數保留小數點後四位進行四捨五入
B. PHP如何顯示兩位小數
一round()函數:
floatround(float$val[,int$precision])
返回將val根據指定精度precision(十進制小數點後數字的數目)進行四捨五入的結果。
precision也可以是負數或零(默認值)。
例如:
echoround(3.6);//4
echoround(3.6,0);//4
echoround(1.95583,2);//1.96
$a=12345678;
echoround($a,-3);//12346000
但是有時候如遇到這樣的數字就不行了,12.3,13.4,15,6
//我們要轉為12.30,13.40,15,60,這樣的值,就得用另外一種強大的方法了。
二sprintf()[或者printf()函數]函數
此函數源於c中強的printf()函數。所以是一個強大的格式化工具。
說明:
stringsprintf(string$format[,mixed$args[,mixed$...]])
format包含:
其格式(format)有如下值:
d有符號10進制整數
i有符號10進制整數
o無符號8進制整數
u無符號10進制整數
x無符號的16進制數字,並以小寫abcdef表示
X無符號的16進制數字,並以大寫ABCDEF表示
F/f浮點數
E/e用科學表示格式的浮點數
g使用%f和%e表示中的總的位數表示最短的來表示浮點數G同g格式,但表示為指數
c單個字元
s字元串
%顯示百分號本身
C. PHP取整數函數常用的四種方法小結
ceil
—
進一法取整
說明
float
ceil
(
float
value
)
返回不小於
value
的下一個整數,value
如果有小數部分則進一位。ceil()
返回的類型仍然是
float,因為
float
值的范圍通常比
integer
要大。
例子
1.
ceil()
例子
復制代碼
代碼如下:
<?php
echo
ceil(4.3);
//
5
echo
ceil(9.999);
//
10
?>
floor
—
捨去法取整
說明
float
floor
(
float
value
)
返回不大於
value
的下一個整數,將
value
的小數部分捨去取整。floor()
返回的類型仍然是
float,因為
float
值的范圍通常比
integer
要大。
例子
1.
floor()
例子
復制代碼
代碼如下:
<?php
echo
floor(4.3);
//
4
echo
floor(9.999);
//
9
?>
round
—
對浮點數進行四捨五入
說明
float
round
(
float
val
[,
int
precision]
)
返回將
val
根據指定精度
precision(十進制小數點後數字的數目)進行四捨五入的結果。precision
也可以是負數或零(默認值)。
例子
1.
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—對變數轉成整數型態
例子intval()
復制代碼
代碼如下:
<?php
echo
intval(4.3);
//4
echo
intval(4.6);
//
4
?>
D. 請問:我PHP網站,mysql資料庫,要讓數字後保留2位小數點,如何設置在資料庫里設置還是網頁里設置
最佳的方式是用PHP的函數;
round(x,prec):round() 函數對浮點數進行四捨五入。
參考http://www.php.net/round
E. PHP怎麼定義保留2位小數的變數
在php中要保留兩位小數的方法有很多種辦法,有如:printf,substr,number_format,round等等方法
方法一
sprintf()函數 ,sprintf() 函數把格式化的字元串寫寫入一個變數中
<?php
$number=123;
$txt=sprintf("%f",$number);
echo$txt;
?>
輸出:
123.000000
方法二substr()函數
$num=123213.666666;
echosprintf("%.2f",substr(sprintf("%.3f",$num),0,-2));
方法三 number_format()函數
$number=1234.5678;
$nombre_format_francais=number_format($number,2,',','');//1234,57
$english_format_number=number_format($number,2,'.','');//1234.57(我一般用這個)
方法四 round 函數,round() 函數對浮點數進行四捨五入。
<?php
echo(round(0.60));
echo(round(0.50));
echo(round(0.49));
echo(round(-4.40));
echo(round(-4.60));
?>
輸出:
1
1
0
-4
-5
如果要保留小數,後來參數根保留小數位數即可。
$number=1234.5678;
echoround($number,2);//1234.57
F. PHP怎麼實現整除
如果我們使用』/'操作符進行除法運算時,如果遇到無法除盡的情況,會得到小數值。如果我只希望得到整數部分,怎麼辦呢?
在PHP的數學函數庫里提供了多個函數供我們選擇:
1、round函數, 對浮點數進行四捨五入。這個應該是最符合大家需要的吧。
< php echo round(10/3); // 3 >
2、ceil函數, 進一法取整。
< php echo ceil(4.3); // 5 >
3、floor ,捨去法取整,捨去小數部分
< php echo floor(4.3); // 4 echo floor(9.999); // 9 >
G. 為什麼php的round函數莫名失效了
剛才看了下,國外的某個沙壁也遇到了,不過那個論壇有一群沙壁給他找出了解決方案。。。例如$a保留2位小數,可以這樣
==》
bcdiv($a,1,2);
===》
還解決了round函數沒給後面添加0的遺憾,如果不是這樣,建議看一下php配置文件。
H. 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))
?>
輸出
0
0
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
0
-4
-5
等函數