当数字高于 1.000 时显示文本

Show text when number is above 1.000

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

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

$product.integerprice是价格。

有效,但最多只能达到 1.000(即 1000,但价格是用一个点生成的,表示千)。在 1.000 之后,它停止显示文本。

我还没有找到问题所在,希望有人能指导我。

如果点是问题所在,那就去掉它:

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

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

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

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

由于问题更新 – 我不擅长聪明。但我想你可以用 replace.

做同样的事情(删除点)