如何在 php 的价格格式中用逗号替换点
How to replace dot with comma in price format in php
我的价格格式类似于 1.100.000 现在我想用逗号替换所有点,所以它应该看起来像这样 - 1,100,000.为此,我尝试了这段代码-
<?php
$number=1.100.000;
$number=str_replace('.',',',$number);
?>
但它不起作用。谁能帮忙。?
缺少 quotes.Try 这个 -
$number="1.100.000";
$number=str_replace('.',',',$number);
var_dump($number);
OutPut -
string(9) "1,100,000"
您可以使用 RegExp
preg_replace('/\./', ',', $number);
这将替换所有“.”带','的点。
为了让它更稳健一点,只有当它后面有3个数字时你才能替换点,所以它不会替换分。尝试:
$number = "1.100.000.00";
$number = preg_replace('/\.(\d{3})/', ',', $number);
var_dump($number);
OutPut -
string(12) "1,100,000.00"
您的功能无法正常工作,因为
$number=1.100.000;
var_dump($number);
Parse error: syntax error, unexpected '.000' (T_DNUMBER)
不是字符串并且 str_replace()
仅适用于 string
值
所以你必须这样做
$number="1.100.000"; (type = string)
最好的方法是number_format()函数。 https://www.php.net/manual/en/function.number-format.php
按照这个例子:
$number = 1234.56;
// english notation (default)
$english_format_number = number_format($number);
// 1,235
// French notation with thousands separator
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56
$number = 1234.5678;
// english notation without thousands separator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
我的价格格式类似于 1.100.000 现在我想用逗号替换所有点,所以它应该看起来像这样 - 1,100,000.为此,我尝试了这段代码-
<?php
$number=1.100.000;
$number=str_replace('.',',',$number);
?>
但它不起作用。谁能帮忙。?
缺少 quotes.Try 这个 -
$number="1.100.000";
$number=str_replace('.',',',$number);
var_dump($number);
OutPut -
string(9) "1,100,000"
您可以使用 RegExp
preg_replace('/\./', ',', $number);
这将替换所有“.”带','的点。
为了让它更稳健一点,只有当它后面有3个数字时你才能替换点,所以它不会替换分。尝试:
$number = "1.100.000.00";
$number = preg_replace('/\.(\d{3})/', ',', $number);
var_dump($number);
OutPut -
string(12) "1,100,000.00"
您的功能无法正常工作,因为
$number=1.100.000;
var_dump($number);
Parse error: syntax error, unexpected '.000' (T_DNUMBER)
不是字符串并且 str_replace()
仅适用于 string
值
所以你必须这样做
$number="1.100.000"; (type = string)
最好的方法是number_format()函数。 https://www.php.net/manual/en/function.number-format.php
按照这个例子:
$number = 1234.56;
// english notation (default)
$english_format_number = number_format($number);
// 1,235
// French notation with thousands separator
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56
$number = 1234.5678;
// english notation without thousands separator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57