Php 数字格式-始终在十进制分隔符后加上2到4个小数,并带有千位分隔符

Php 数字格式-始终在十进制分隔符后加上2到4个小数,并带有千位分隔符,php,Php,我的电话号码是: 2000年 一百 0.1 0.15 0.1555 但我需要以这种格式显示这些数字: 2000.00 100.00 0.10 0.15 0.1555 小数分隔符后的小数永远不会超过4位。 如果后面的小数分隔符仅为null,则需要显示2个null(上面的示例3) 如何格式化这些数字以获得所需格式? 谢谢大家! 编辑:我不能只使用number\u格式函数,因为使用此函数,我只能设置小数分隔符后的小数位数,但正如我上面所写的,有时是2,有时是4。因此,如果我的数字是2000.0001,

我的电话号码是:

  • 2000年
  • 一百
  • 0.1
  • 0.15
  • 0.1555
  • 但我需要以这种格式显示这些数字:

  • 2000.00
  • 100.00
  • 0.10
  • 0.15
  • 0.1555
  • 小数分隔符后的小数永远不会超过4位。 如果后面的小数分隔符仅为null,则需要显示2个null(上面的示例3)

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


    编辑:我不能只使用
    number\u格式
    函数,因为使用此函数,我只能设置小数分隔符后的小数位数,但正如我上面所写的,有时是2,有时是4。因此,如果我的数字是
    2000.0001
    ,并且我设置了
    number\u格式(2000.0001,4)
    输出将是
    2000.0001
    ,但是像
    0.1
    这样的其他数字将输出
    0.1000
    ,但是我需要使用
    0.10
    格式。

    首先使用
    number\u格式
    添加逗号,并在小数点后获得4位数字。然后使用正则表达式删除最多2个尾随零

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

    使用
    number\u格式
    获取4位数字,然后删除结尾处的任何零。可能重复的@ledesma没有显示如何在小数点后获取可变数字。它会为您提供一个解释如何执行此操作的参数。@ledesma在
    number\u格式
    中没有任何内容能够单独完成此操作。