我有一个变量$num='1.000,00';
,在欧洲是一千。
我想得到这个数字的 20% $num*0.2;
,但我得到了错误的结果,因为字符串中使用了点而不是逗号。
我尝试了该number_format
功能,但将我的千转换为 1 而不是 1000。
在计算百分比后,我希望最终结果以欧洲形式返回。(200,00)。
我有一个变量$num='1.000,00';
,在欧洲是一千。
我想得到这个数字的 20% $num*0.2;
,但我得到了错误的结果,因为字符串中使用了点而不是逗号。
我尝试了该number_format
功能,但将我的千转换为 1 而不是 1000。
在计算百分比后,我希望最终结果以欧洲形式返回。(200,00)。
$num = '1.000,50';
echo floatval(str_replace(array('.', ','), array('', '.'), $num)) * .2;
你可以更好地使用花车。为什么要使用字符串?对所有数学运算使用真正的浮点数,并在向用户查看时将浮点数转换为希望的格式。
像这样:
$val = 1000.20;
$new_val = $val * .2;
setlocale(LC_MONETARY, 'nl_NL');
echo money_format('%(#10n', $new_val);
结果是EUR 200,04
更多信息money_format
$num = str_replace(array('.', ','), array('', '.'), $num);