我正确获得以下输出:
<?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 :(得分:2)
number_format()
的第二个参数采用小数位数 - 因此您的示例是预期结果。也许你在round()函数中受到了影响,它允许舍入到一定的精度?
答案 1 :(得分:1)
您可以尝试这样的事情
<?php
$number = 12312;
echo is_int($number) ? $number : number_format($number,"1");
?>
答案 2 :(得分:0)
如果您不想要额外的小数位,请使用<?php echo number_format(12312, 0);?>
“0”表示0位小数
答案 3 :(得分:0)
简单地将它投射到浮动,usign(浮动),工作。
e.g。
$ num_1 =(float)1.0;
$ num_2 =(float)1.1;
echo $ num_1; echo $ num_2;
输出:
1
1.1