数字格式 - 小数点分隔符后总是2到4位小数,并且有千位分隔符

时间:2015-05-05 20:34:17

标签: php

我有号码:

  1. 2000
  2. 100
  3. 0.1
  4. 0.15
  5. 0.1555
  6. 但我需要以这种格式显示这些数字:

    1. 2,000.00
    2. 100.00
    3. 0.10
    4. 0.15
    5. 0.1555
    6. 小数点分隔符后,我将永远不会超过4位小数。 如果小数点后分隔符仅为空,则需要显示2个空值(例如上面的例子)。

      如何格式化这些数字以获得所需的格式? 谢谢!

      编辑:我不能只使用number_format函数,因为使用此函数我只能设置十进制分隔符后面的小数位数,但正如我上面所写 - 有时候会有2个,有时候是4个。所以,如果我的号码是2000.0001并且我设置此number_format(2000.0001, 4)输出将是2000.0001,但其他数字如0.1将输出{ {1}},但我需要0.1000格式。

1 个答案:

答案 0 :(得分:2)

首先使用number_format添加逗号并在小数点后获取4位数。然后使用正则表达式删除最多2个尾随零。

$formatted = preg_replace('/0{1,2}$/', '', number_format($input, 4));

DEMO