如何根据其输入显示小数位数?

时间:2019-05-01 10:08:57

标签: php

我已经使用number_format()函数进行了千位分隔,但是该函数获得了特定的小数位数。 但是我需要小数位数应该是传递给函数的数字

应该是这样。

数字输出

1234 1,234

1234.9 1,2394.9

1234.94 1,233.94

1 个答案:

答案 0 :(得分:2)

您可以先使用number_format(),然后在需要时进行修饰,如下所示:

function formatter($input, $maxDecimals)
{
    $number = number_format($input, $maxDecimals);
    if ($maxDecimals > 0) {
        list($whole, $fraction) = explode(".", $number);
        $number =  $whole . rtrim("." . $fraction, ".0");
    }
    return $number;
}

echo formatter(0.0, 6).'<br>';
echo formatter(100.0, 6).'<br>';
echo formatter(100.01, 6).'<br>';
echo formatter(1200.9, 6).'<br>';
echo formatter(1200, 6).'<br>';
echo formatter(1200.9, 6).'<br>';
echo formatter(1234, 6).'<br>';
echo formatter(1234.9, 6).'<br>';
echo formatter(1234.94, 6).'<br>';

修剪将删除所有零,并在末尾删除点。上面的代码将返回:

  

0
  100
  100.01
  1,200.9
  1,200
  1,200.9
  1,234
  1,234.9
  1,234.94