如何计算货币字符串
How to calculate currency string
我正在尝试计算 php 中的两个变量类型 "String"。
我尝试了所有替代但数量稳定的缺失值。
示例:
$a = "250,000.50";
$b = "30,000.00";
echo $a - $b;
我想要 return 具有相同格式的值 ###,###,###.## -String -Decimal -only return 相同的格式。
注意:我在这里尝试了所有 link 格式的货币...使用正则表达式、sprintf、替换等...
但总是丢失一个数字,因为示例使用 en_US 或 EUR.
格式
谢谢!
字符串减法会自动将字符串转换为数字,但您必须先去掉逗号:
$a = "250,000.50";
$b = "30,000.00";
echo str_replace(',', '', $a) - str_replace(',', '', $b);
哦,把整个东西包在 number_format
中,让它变回逗号格式:
echo number_format( str_replace(',', '', $a) - str_replace(',', '', $b), 2);
您可以使用此功能 轻松处理:
$a = "250,000.50";
$b = "30,000.00";
function currency($c=0){
return preg_replace("/[^\d\.]+/iu","",$c);
}
echo number_format(currency($a) - currency($b) ,2);
我正在尝试计算 php 中的两个变量类型 "String"。 我尝试了所有替代但数量稳定的缺失值。
示例:
$a = "250,000.50";
$b = "30,000.00";
echo $a - $b;
我想要 return 具有相同格式的值 ###,###,###.## -String -Decimal -only return 相同的格式。
注意:我在这里尝试了所有 link 格式的货币...使用正则表达式、sprintf、替换等... 但总是丢失一个数字,因为示例使用 en_US 或 EUR.
格式谢谢!
字符串减法会自动将字符串转换为数字,但您必须先去掉逗号:
$a = "250,000.50";
$b = "30,000.00";
echo str_replace(',', '', $a) - str_replace(',', '', $b);
哦,把整个东西包在 number_format
中,让它变回逗号格式:
echo number_format( str_replace(',', '', $a) - str_replace(',', '', $b), 2);
您可以使用此功能 轻松处理:
$a = "250,000.50";
$b = "30,000.00";
function currency($c=0){
return preg_replace("/[^\d\.]+/iu","",$c);
}
echo number_format(currency($a) - currency($b) ,2);