2010-03-09 124 views

回答

38

string_format接受sprintf的格式化选项:

{$number|string_format:"%.2f"} 
+0

这不适用于包含小于2位小数的数字。 (即1.9) – hendr1x 2014-06-05 19:25:39

+0

是的。它将'1.5'变成'1.50'。 – Peon 2015-03-10 10:21:41

+1

请记住,如果您想放置一个表达式来代替简单变量'$ number',您应该将它们包装到括号中,如:{{($ a/$ b)| string_format:“%。2f”}' – 2016-12-05 10:19:25

23

{$number|number_format:2}是你想要的

+0

请记住,如果您想要放置一个表达式来代替简单变量'$ number',则应该将它们包装为括号,如:{{($ a/$ b)| number_format:2}' – 2016-12-05 10:20:22

+0

没有工作对我来说:( – 2018-01-26 10:31:01

10

{$number|round:"2"}也适用

+1

这个答案更合适,因为它是处理数字舍入,并将数字视为数字而不是字符串 – inam101 2013-07-03 12:14:19

+1

请记住,如果您想要放置表达式来代替简单变量'$ number',则应该包装他们成为括号,如:{{($ a/$ b)| round:2}'。'2'附近的引号不是必需的 – 2016-12-05 10:20:44

+0

这很好。 – 2018-01-26 10:30:54

1

要显示2而不是2.00,您可以使用:更换在Smarty的PHP

看下面的例子 -

$number = 2.00 

{$number|replace:'.00':''} 

Output :- 2 

希望这会有所帮助。