Smarty 上的价格数字格式
Posted
技术标签:
【中文标题】Smarty 上的价格数字格式【英文标题】:Price number format on Smarty 【发布时间】:2013-07-16 15:36:54 【问题描述】:我认为这是一个相当愚蠢的问题,我研究了格式化数字以转换为价格格式的方法。我使用 smarty 作为模板系统。是否可以通过 smarty 或可用于此目的的某种方法来格式化价格?
我需要将类型数字 1000000 转换为 $1.000.000
如果smarty没有输出格式,还有什么其他方法?
谢谢
【问题讨论】:
$1000000|number_format:0:" ":"." 【参考方案1】:使用 smarty 3.x 的插件
http://www.smarty.net/docs/en/api.register.plugin.tpl
代码示例:
$smarty = new Smarty;
$smarty->registerPlugin("modifier", "number_format", "number_format");
在 smarty tpl 文件中,您可以像这样编写 html 代码:
...
<td style="text-align:right;border: 1px solid black;border-collapse: collapse;">$upah|number_format:2:",":"."</td>
...
注意:"," 是十进制符号,"."是千位分隔符,可以互换。
【讨论】:
【参考方案2】:使用 php 的money format function
聪明的应该是$myNumber|money_format:'%i'
【讨论】:
函数 money_format() 仅在系统具有 strfmon 功能时才定义 此功能已弃用,请勿使用。 php.net/manual/en/function.money-format.php以上是关于Smarty 上的价格数字格式的主要内容,如果未能解决你的问题,请参考以下文章
使用 .toLocaleString() 轻松实现多国语言价格数字格式化