如何计算货币字符串

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);