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() 轻松实现多国语言价格数字格式化

使用标准数字格式字符串时的上标价格十进制数字

PHP中的数字格式

Javascript:格式化数字的更简单方法? [关闭]

Android - 如何正确地将字符串解析为浮点数(价格数字格式:整数、小数或两者兼有)

UI5-文档-4.21-Data Types