tni*_*hol 5 formatting groovy currency
我正在使用groovy(grails 1.3.7)将一些行写入文本文件,我想像这个示例输出那样格式化货币:
$100,000,000.00
$9,123,123.25
$10.20
$1,907.23
Run Code Online (Sandbox Code Playgroud)
所以基本上是右对齐,或左边填充,在数字前面加上美元符号,所以它们都像上面一样排列.第一个数字是我们期望看到的最长数字.现在我有一个数量变量,只是定义了一个def而不是字符串或数字或任何特定的类似但我可以明显改变,如果需要.谢谢!
ata*_*lor 12
你可能想用NumberFormat.getCurrencyInstance().这将返回一个NumberFormat对象,该对象使用默认Locale的标准货币表示(或者可选地,您传入的那个).
为了正确证明,你可以使用String.padLeft().
例:
def formatter = java.text.NumberFormat.currencyInstance
def values = [0, 100000000, 9123123.25, 10.20, 1907.23]
def formatted = values.collect { formatter.format(it) }
def maxLen = formatted*.length().max()
println formatted.collect { it.padLeft(maxLen) }.join("\n")
//output
$0.00
$100,000,000.00
$9,123,123.25
$10.20
$1,907.23
Run Code Online (Sandbox Code Playgroud)
小智 5
在 grails 中,像这样的东西可以用逗号分隔符很好地格式化它。
<g:formatNumber number="${150000}" type="currency" currencyCode="USD"/>
Run Code Online (Sandbox Code Playgroud)
为了右对齐,我会使用样式:
<td style='text-align:right;...'>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6930 次 |
| 最近记录: |