这可能是一个容易回答的问题,但我有点难过,而且我还没有足够长时间地研究Smarty来解决这个问题。
我需要以3位数格式显示数字,即:
8 = 008
18 = 018
118 = 118
要添加一些上下文,基本上我正在尝试编辑Prestashop模板(在此之前从未触及过smarty)。目前价格显示为1.223.014,我想将最后三位数字分开,以便我可以格式化它与价格的第一部分不同。因此,我可以做类似
的事情<span class="abc">1.223</span>.<span class="xyz">014</span>
不确定是否有更简单的方法可以做到这一点,但基本上我目前将当前价格除以1000(以消除最后3位数字),现在我对如何获得最后3位数感到困惑(如果最后三位数字高于99)
感谢您的帮助。
由于
答案 0 :(得分:2)
您的示例的解决方案
{"%03d"|sprintf:8}
如果您想要任何情况下的最后3位数字,可能的解决方案
{'1.223.014'|substr:-3}
HTML:
<span class="abc">{'1.223.014'|substr:0:-4}</span>.<span class="xyz">{'1.223.014'|substr:-3}</span>
注意:如果数字长度低于4
,则无效如果你想检查数字中是否有点,你可以这样做
{if '1.223.014'|substr_count:'.' > 0}
..dots inside..
{else}
..no dots inside..
{/if}
使用smarty 3进行测试。