我正在尝试使用 PHP 将千位分隔符添加到数字中,同时保留前导零(这是应用程序设计的一部分,保留前导 0,以便人们可以看到数字朝着集合的方向增长目标 - 6 位数字)。
我最初的尝试是,如果当前计算的数字长度小于 6 位数字,则使用 str_pad 添加前导零。然后添加逗号,我使用了 number_format。明显的问题是 number_format 删除了前导 0。
$num = 550;
$num_padded = str_pad($num, 6, '0', STR_PAD_LEFT);
echo number_format($num_padded);
因此返回 550 而不是 000,550
有人知道实现我正在寻找的格式的可靠方法吗?
谢谢!
最佳答案
我想到了这个简单的技巧:
function padAndFormat($number, $length)
{
if(strlen($number)>=$length)
{
return number_format($number);
}
$number = number_format('1'.str_pad($number, $length-1, '0', STR_PAD_LEFT));
$number[0] = '0';
return $number;
}
//var_dump(padAndFormat('517', 6)); //string(7) "000,517"
关于PHP 在数字中添加千位分隔符并保留前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19361825/