首页 > 解决方案 > 如何根据其输入显示小数位数?

问题描述

我已将 number_format() 函数用于千位分隔,但此函数获取特定的小数位数。但我需要小数位数应该是数字,即传递给函数

应该是这样的。

数字输出

1234 1,234

1234.9 1,234.9

1234.94 1,234.94

标签: php

解决方案


您可以先使用 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


推荐阅读