📜  带逗号和小数的 php 正则表达式格式数字 - PHP (1)

📅  最后修改于: 2023-12-03 14:54:07.195000             🧑  作者: Mango

带逗号和小数的 PHP 正则表达式格式数字

在 PHP 中,我们通常需要对数字进行格式化,其中一个常见的格式就是带有逗号和小数位数的数字格式。本文将介绍如何使用正则表达式来实现这样的格式化。

方法

使用 PHP 的 number_format() 函数可以轻松地将数字格式化为带有逗号和小数位数的格式。例如:

$number = 1234567.89;
$formatted_number = number_format($number, 2);
echo $formatted_number; // 输出:1,234,567.89

但有时正常情况下需要处理数字的字符串,这时候可以使用正则表达式来实现相同的效果。具体代码如下:

$string = '1234567.89';
$formatted_string = preg_replace('/(?<=\d)(?=(\d{3})+\.)/', ',', $string);
echo $formatted_string; // 输出:1,234,567.89

在这个正则表达式中,我们使用了正向零宽断言来匹配数字之间的位置,并使用逗号替换它们。该表达式将匹配所有字符串中的数字,而不仅仅是小数。

总结

使用 PHP 内置的 number_format() 函数可以轻松地格式化数字。如果需要对数字的字符串进行格式化,可以使用正则表达式来实现相同的效果。在正则表达式中使用正向零宽断言可以匹配数字之间的位置,并使用逗号替换它们。