如何在php中处理number_format输出?

问题描述:

我正确地得到以下的输出:如何在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

你可以尝试这样的事情

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

number_format()的第二个参数取小数位数 - 所以您的示例是预期结果。也许你在round()函数中进行了细分,可以使其达到一定的精度?

+0

是的,我知道round(),但问题是我得到的是随机数,我想相应地处理它。 – Prabh 2011-03-02 01:56:36

+1

你是什么意思“相应处理?” round($ _,1)将会减少小数,如果它通过number_format为0。 – 2011-03-02 02:03:59

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

的“0”代表0的小数位

简单,它铸造浮动,使用(浮动),工作。

例如

$ num_1 =(float)1.0;

$ num_2 =(float)1.1;

echo $ num_1; echo $ num_2;

输出:

1.1