我试图在php中计算两个变量类型“String”。 我尝试了所有替代但稳定的数量缺失值。
示例:
$a = "250,000.50";
$b = "30,000.00";
echo $a - $b;
我想以相同的格式返回值###,###,###。## - String -Decimal -only返回相同的格式。
注意:我在这里尝试所有链接格式货币...使用正则表达式,sprintf,替换等... 但总是丢失一个数字,因为示例使用格式为en_US或EUR。
谢谢!
答案 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);