2015-01-10 97 views
0

我想在php中计算两个变量类型“字符串”。 我尝试了所有可选的但稳定的金额缺失值。如何计算货币字符串

例如:

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

我想与相同的格式返回值###,###,###。## -STRING -decimal - 只返回相同的格式。

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

谢谢!

+1

您希望从2个字符串中减去什么输出? (注意 - 它们不是数字,它们是字符串,例如'“hello” - “world”') –

+0

您可以做的是将$ a转换为数字$ a =“250000.50”; $ a_Int =(int)$ a;你可以阅读更多关于PHP字符串数字转换在谷歌,甚至在stackoverflow –

+0

@Lashane我写 - 我想返回值相同的格式###,###,###。## - 所以我不在乎如果var是String,我只需要返回相同的格式。 – felixmpa

回答

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

谢谢,:)是简单的代码 – felixmpa

+0

我很高兴看到接受我的答案。 –

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