2012-08-28 30 views
1

這可能是一個很容易回答的問題,但我有點難以理解,而且我還沒有研究過Smarty足夠長的時間來弄清楚。Smarty:總是顯示3位數字

我需要一個3位數的格式來顯示數字,即:

8 = 008 
18 = 018 
118 = 118 

要添加一些情況下,基本上我想編輯的Prestashop模板(從未接觸過智者在此之前)。目前價格顯示爲1.223.014,我想分開最後三位數字,以便我可以將其格式與價格的第一部分區分開來。因此,我將能夠像做

<span class="abc">1.223</span>.<span class="xyz">014</span> 

不知道是否有這樣做一個更簡單的方法,但基本上我目前將當前價格1000(消除後3位),現在我難倒了如何獲得最後3位數字(工作正常,如果最後三位數字超過99)

您的幫助表示讚賞。

感謝

回答

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} 

與智者測試3.

+0

謝謝,我想你的第一個代碼解決了這個問題爲了我。 –