2011-03-02 135 views
0

我正確地得到以下的輸出:如何在php中處理number_format輸出?

<?php echo number_format("12312.312","1"); // Correct Output 12312.3 ?> 

,但在以下情況下

<?php echo number_format("12312","1"); // Getting output 12312.0 but requires only 12312 ?> 

所以基本上,我想控制我的輸出,即它應該只添加如果我的小數位數是小數位大於0.

+0

對不起...更新格式。 – Prabh 2011-03-02 01:37:59

+2

您指定應該有1位小數。所以number_format給你一個小數位。問題是什麼? – GWW 2011-03-02 01:38:33

回答

1

你可以嘗試這樣的事情

<?php 
$number = 12312; 
echo is_int($number) ? $number : number_format($number,"1"); 
?> 
2

number_format()的第二個參數取小數位數 - 所以您的示例是預期結果。也許你在round()函數中進行了細分,可以使其達到一定的精度?

+0

是的,我知道round(),但問題是我得到的是隨機數,我想相應地處理它。 – Prabh 2011-03-02 01:56:36

+1

你是什麼意思「相應處理?」 round($ _,1)將會減少小數,如果它通過number_format爲0。 – 2011-03-02 02:03:59

0

如果你不想額外的小數位,使用<?php echo number_format(12312, 0);?>

的「0」代表0的小數位

0

簡單,它鑄造浮動,使用(浮動),工作。

例如

$ num_1 =(float)1.0;

$ num_2 =(float)1.1;

echo $ num_1; echo $ num_2;

輸出:

1.1