将部分付款的价格下调(产量超过1000)

时间:2017-11-09 20:09:00

标签: php html klarna

晚上好。

我完成了所有的编码和广告,我将展示客户将付款分成6个月的可能方式。 Everythings很好,除了我有新的价格输出问题,当金额超过1000,我猜它是因为空间?!在1000 ...?

这是代码: Pay over 6 months: <?php if ($price_calculate['price_wo_discount']>0) echo round( ($price_calculate['price_wo_discount'])*0.16); ?>

1 个答案:

答案 0 :(得分:1)

如果您尝试在PHP中执行此类操作,

echo round( '1 000' * 0.16);

你会得到Notice: A non well formed numeric value encountered in ...。这是因为PHP无法安全地将字符串转换为适当的数值。它神奇地将字符串强制转换为0并发出通知。这就是你获得0输出的原因。

理想情况下,您需要从数字字符串中删除所有空格和逗号,然后可能使用is_numeric函数来确定您的字符串是否实际为数字,然后执行round

同样隐式转换你if ($price_calculate['price_wo_discount'] > 0阻止可能会导致一些副作用。在PHP中考虑这个:

var_dump('1 is number' > 0); //outputs true

我的建议:首先使用值对象来验证您的输入。