在ColdFusion中,如果为0,是否有一个numberFormat()掩码来删除小数?

ete*_*rps 10 coldfusion number-formatting coldfusion-9

我正在尝试格式化数字,以便显示2位小数,除非它是一个整数 - 然后我不希望显示小数点.我试过0.00,_.__,9.99和几个组合.是否有numberFormat可以获得此结果的函数的掩码?

Hen*_*nry 12

<cfif int(x) eq x>
  #int(x)#
<cfelse>
  #DecimalFormat(x)#
</cfif>
Run Code Online (Sandbox Code Playgroud)

  • 我非常讨厌这个. (4认同)

Jas*_*n M 6

您可以将变量除以 1,然后显示整数,不带小数位。

<cfset a = 5.00>
<cfset b = 5.55>

<cfoutput>#a/1#, #b/1#</cfoutput>
Run Code Online (Sandbox Code Playgroud)

输出是5, 5.55. 而不是5.00, 5.55如果你不除以1。


Lei*_*igh 5

我不认为有一个现有的功能,但这个舍入的例子可能会做到这一点:

    round(yourNumber * 100) / 100
Run Code Online (Sandbox Code Playgroud)

编辑: 正如JasonM在评论中提到的,这不会为数字生成两位小数1.1.


小智 5

好吧,我知道这个问题已经有很多年了,我的解决方案很愚蠢,但它满足了我的需求:

#replace(dollarformat(list_price), '.00', '')#
Run Code Online (Sandbox Code Playgroud)

我知道这是美元格式而不是数字格式,但概念是相同的。

哈哈。如果它很蠢而且有效,那它就不蠢了,对吧?