php的四捨五入
A. php number_format四捨五入有誤差的問題
難道是我人品爆發?
B. PHP初學者,四捨五入並且保留1位小數的函數
<?php
echoround(1.23547,1);//得到1.2
C. 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
D. php計算後如何取小數點前面的
<?php echo ceil($kkoi+$userid); ?>
上述ceil是系統四捨五入方法
E. php中的四捨五入函數代碼(floor函數、ceil函數、round與intval)
floor函數和ceil函數互相搭配起來可以使php
處理的數據更加真實可靠。
一、先來看floor函數:
語法:
float
floor
(
float
value
)
說明:
返回不大於
value
的下一個整數,將
value
的小數部分捨去取整。floor()
返回的類型仍然是
float,因為
float
值的范圍通常比
integer
要大。
floor()
例子
1
<?php
echo
floor(1.6);
//
will
output
"1"
echo
floor(-1.6);
//
will
output
"-2"
?>
floor()
例子
2
<?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函數:
語法:
float
ceil
(
float
value
)
說明:
返回不小於
value
的下一個整數,value
如果有小數部分則進一位。ceil()
返回的類型仍然是
float,因為
float
值的范圍通常比
integer
要大。
ceil()
例子:
<?php
echo
ceil(4.3);
//
5
echo
ceil(9.999);
//
10
echo
ceil(-3.14);
//
-3
?>
看到這兩個函數的區別了么。。
在分頁時我們會常用到的
//頁碼計算:
$lastpg=ceil($totle/$displaypg);
//最後頁,也是總頁數,用ceil就方便多了。
$lastpg=$lastpg
?
$lastpg
:
1;
//沒有顯示條目,置最後頁為1
$page=min($lastpg,$page);
$prepg=$page-1;
//上一頁
$nextpg=($page==$lastpg
?
0
:
$page+1);
//下一頁
$firstcount=($page-1)*$displaypg;
當然,如果需要制定精度就需要使用round函數了。
三、round函數:
語法:
float
round
(
float
val
[,
int
precision]
)
說明:
返回將
val
根據指定精度
precision(十進制小數點後數字的數目)進行四捨五入的結果。precision
也可以是負數或零(默認值)。
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—對變數轉成整數型態
變數轉成整數類型。
語法:
int
intval(mixed
var,
int
[base]);
返回值:
整數
函數種類:
PHP
系統功能
內容說明
本函數可將變數轉成整數類型。可省略的參數
base
是轉換的基底,默認值為
10。轉換的變數
var
可以為數組或類之外的任何類型變數。
例子intval()
<?php
echo
intval(4.3);
//4
echo
intval(4.6);
//
4
?>
註:intval如果是字元型的會自動轉換為0
如
intval('abc');
輸出結果
0
如果是
intval('5fd');
輸出結果是
5
F. php 中smarty 模板中怎麼實現四捨五入 例子 <td>{$item[4]*$zkl}</td>
{ 0.075|string_format:"%.2f" }
返回0.08
G. 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
等函數
H. php四捨五入怎樣實現
如果我們使用』/'操作符進行除法運算時,如果遇到無法除盡的情況,會得到小數值。如果我只希望得到整數部分,怎麼辦呢?在PHP的數學函數庫里提供了多個函數供我們選擇: 1、round函數, 對浮點數進行四捨五入。這個應該是最符合大家需要的吧。 <?php echo round(10/3); // 3 ?> 2、ceil函數, 進一法取整。 <?php echo ceil(4.3);
I. 為什麼php中的 四捨五入做不進去
rand是產生隨機數 round()才是四捨五入的函數 round('要四捨五入的數據','小數點後面的位數')
J. PHP怎麼判斷獲得的數是否為小數
1.首先,打開PHP編輯器並創建一個新的PHP文件,例如index.php。
(10)php的四捨五入擴展閱讀:
顯示小數的方法:
浮點(Float$val[,int$precision])
將val的四捨五入結果返回到指定的精度(小數點的位數)。
精度也可以是負數或零(預設值)。
如:
回聲輪(3.6);//4
回聲輪(3.60);//4
回聲輪(1.95583,2);//1.96
一美元=12345678;
Echo輪($a,3);//12346000
但有時它不工作當你有像12。3 13。4 15 6這樣的數字
//要轉換成12.30、13.40、15、60的值,我們必須使用另一種強大的方法。
sprintf()[或printf()函數]函數
這個函數來源於c語言中的強printf()函數,所以它是一個強大的格式化工具。
描述:
字元串sprintf(String$format[,mixed$args[,mixed$…]])
的格式包括:
它的格式有以下值:
D是有符號的十進制整數
I是一個有符號的十進制整數
O無符號8個整數
U無符號十進制整數
X是一個小寫abcdef的無符號十六進制數
X是大寫ABCDEF中的一個無符號十六進制數
F/F浮點數
E/E是一個浮點數的科學表示
在%f和%e表示中,G使用總位數中最短的位來表示浮點數G,格式與G相同,但是作為指數
C單個字元
年代一個字元串
%本身顯示百分號