我需要在数据库中显示一个作为浮点数
的数字如果数字ha没有小数部分,则应显示为int,并在其他情况下显示为小数。
示例:
8.00 should be displayed 8
8.45 should be displayed 8.45
现有代码使用roud():
使用奇怪的(但功能解决方案)if(round($number) == $number) {
$number = round($number);
}
我希望通过示例找到一些sprintf的解决方案,以获得更自我解释的代码(圆形的实际解决方案不是很容易理解)
你们中是否有人遇到过这个问题并且知道解决方案 (我尝试使用sprintf(),但我没有管理如何获得可变数量的小数)
答案 0 :(得分:1)
试试这个:
$numbers = array(
8.00, 8.45, 20.00, '8.00', '8.45', '20.00'
);
foreach ($numbers as $nr) {
echo (string)(double)$nr, '<br />';
}
答案 1 :(得分:0)
echo +'8.45';
将显示8.45和
echo +'8.00';
将显示8;)
答案 2 :(得分:0)
不太确定这是您正在寻找的内容,但要将您的舍入代码缩短为一个语句,请使用此功能。
$number = (int)$number == $number ? (int)$number : $number;