如何用前导零和千个逗号格式化数字


How can I format a number with leading zeros and thousands commas?

我在MySQL数据库中有一个int字段,每次数据库用户执行特定操作时,该字段都会逐渐上升,因此它以1为增量上升。

在 php 页面上显示此值时,我希望它将此值显示为 0,000,001 而不是仅1的原始数据。

如何格式化数字以像这样显示?我以前从未这样做过,所以我很困惑。

这样的事情应该可以工作:

SELECT INSERT(INSERT(LPAD([value], 7, '0'), 5, 0, ','), 2, 0, ',')
FROM ....

LPAD 返回一个长度为 7 的字符串,前导为 0。如果 [value] 大于 7,它将被截断(从右边开始);所以"12345678"变成了"1234567"。

两个INSERT调用插入逗号。

编辑:将1更改为0;显然他们有效地使其成为"替换"而不是"插入"。

如果可以的话,我建议在代码中执行此操作,而不是查询。

如果你更愿意在 php 中这样做,像这样:

$pretty = substr(number_format(10000000 + $counter), 1);
只要计数器不超过 9,999,999,

999,这就可以工作。