如何用逗号重新格式化数字

ian*_*ian 2 php mysql

我有一行代码可以获取表格中的行数,然后显示计数.在这种情况下,它显示下载次数.

现在,计数非常小,但是当它变大(大于1000)时,我想将其格式化为在正确的位置示例中使用逗号显示:

1000

100000

百万

或者也许还有一个.1.000 1.000.000

最简单的方法是什么?

Gre*_*reg 16

你可以使用这个number_format()功能:

$str = number_format($number);
Run Code Online (Sandbox Code Playgroud)

使用"." 代替 ",":

$str = number_format($number, 0, ',', '.');
Run Code Online (Sandbox Code Playgroud)


Ana*_*nax 5

您还可以在查询中使用FORMAT(X,D):

将数字X格式化为'#,###,###.##'等格式,舍入到D小数位,并将结果作为字符串返回.如果D为0,则结果没有小数点或小数部分.

mysql> SELECT FORMAT(12332.123456,4);

    -> '12,332.1235'
Run Code Online (Sandbox Code Playgroud)

mysql> SELECT FORMAT(12332.1,4);

    -> '12,332.1000'
Run Code Online (Sandbox Code Playgroud)

mysql> SELECT FORMAT(12332.2,0);

    -> '12,332'
Run Code Online (Sandbox Code Playgroud)

编辑:

我正要补充一点," 使用这种方法的缺点是你的代码中没有那个数字 ",但显然这不再是问题,从PHP 5.3开始,归功于NumberFormatter类的解析函数:

NumberFormatter :: parse numfmt_parse

- 解析一个数字

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo $fmt->parse($num)."\n";
echo $fmt->parse($num, NumberFormatter::TYPE_INT32)."\n";
?>
Run Code Online (Sandbox Code Playgroud)