当数字大于1.000时显示文本

时间:2017-05-19 11:11:33

标签: php smarty

我想在产品页面上显示文字,当价格高于300时。我使用以下代码:

 {if $product.integerprice >= 300} Free shipping {/if}

$ product.integerprice是价格。

它可以工作,但最多只能达到1.000(1000,但价格是用数千点生成的)。在1.000之后,它停止显示文本。

我没有幸运解决问题,希望有人可以指导我。

1 个答案:

答案 0 :(得分:1)

如果点是问题,那么就摆脱它:

{if str_replace('.', '', $product.integerprice) >= 1000} Free shipping {/if}

那为什么300会起作用呢?在您的情况下,您将字符串与数字进行比较。在这种情况下,PHP会自动将您的字符串转换为数字。所以你有:

'300' >= 300 //true,字符串转换为300

'1.000' >= 1000 //false,字符串转换为1,因为PHP认为它是浮点数。

由于问题更新 - 我的聪明才智。但我想你可以用replace做同样的事情(删除点)。