PHP实数小数点后一位,整数值没有数字

pau*_*dru 0 php numbers digit

将数字转换为的最佳解决方案是什么:

  1. 如果该数字是实数,则在小数点后一位
  2. 没有数字,如果数字是整数,则没有小数点

例子:

if ($num == 8.2) //display 8.2
if ($num == 8.0) //display 8
Run Code Online (Sandbox Code Playgroud)

注意:我不会有像 8.22 或 8.02 这样的数字。我会有这种类型的数字:

1, 1.2, 1.4 ... 2.6, 2.8, 3 ....9.8, 10

Don*_*nic 5

如果您确定您的所有数字都采用该格式,您应该可以使用round. (正常情况下,round不能格式化工作得很好,但在这种情况下,它应该做的工作。)

foreach ([8, 8.2, 1, 1.2, 1.4, 2.6, 2.8, 3, 9.8, 10] as $number) {
    echo round($number, 1) . PHP_EOL;
}
Run Code Online (Sandbox Code Playgroud)

有些人可能会假设否则,但echo round(8.0, 1);显示8,而不是8.0