如何计算货币字符串

时间:2015-01-10 00:25:53

标签: php regex string str-replace

我试图在php中计算两个变量类型“String”。 我尝试了所有替代但稳定的数量缺失值。

示例:

$a = "250,000.50";
$b = "30,000.00";
echo $a - $b;

我想以相同的格式返回值###,###,###。## - String -Decimal -only返回相同的格式。

注意:我在这里尝试所有链接格式货币...使用正则表达式,sprintf,替换等... 但总是丢失一个数字,因为示例使用格式为en_US或EUR。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用功能轻松处理

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

答案 1 :(得分:0)

字符串上的减法会自动将字符串自动转换为数字,但你必须首先删除逗号:

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