我有一个变量$num='1.000,00';
,在欧洲是一千个。
我想得到这个数字$num*0.2;
的20%,但我得到错误的结果,因为字符串中使用了点而不是逗号。
我尝试了number_format
功能,但将我的千位转换为1而不是1000.
在计算百分比后,我希望以欧洲形式返回最终结果。 (200,00)。
答案 0 :(得分:1)
$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
答案 1 :(得分:0)
$num = str_replace(array('.', ','), array('', '.'), $num);