Groovy/Grails 迭代列表并使用 NumberFormat(美国风格)格式化数字
Posted
技术标签:
【中文标题】Groovy/Grails 迭代列表并使用 NumberFormat(美国风格)格式化数字【英文标题】:Groovy/Grails iterating the list and formatting the number using NumberFormat(US style) 【发布时间】:2016-06-20 05:08:55 【问题描述】:我有一个 Employee 域类和属性名称、年龄、工资、annualPackage。
当我打电话给Employee.list()
。所有属性都将被持久化。
现在我想申请numberformat
的薪水和annualPackage
的属性。我可以通过以下方式实现:
NumberFormat.getNumberInstance(Locale.US).format(Employee.salary.get(0))
但是如何格式化列表中salary和annualPackage的所有值。
【问题讨论】:
【参考方案1】:你可以这样做
List<Employee> employees = Employee.list()
def formatter = java.text.NumberFormat.getNumberInstance(Locale.US)
def formatted = employees.collect formatter.format(it.salary)
注意:您应该使用getCurrencyInstance(Locale.US)
而不是getNumberInstance(Locale.US)
【讨论】:
【参考方案2】:应该这样做
def formatter = java.text.NumberFormat.getNumberInstance(Locale.US)
def formattedValues = Employee.list().collect
[
salary = formatter.format(it.salary)
annualPackage = formatter.format(it.annualPackage)
]
【讨论】:
以上是关于Groovy/Grails 迭代列表并使用 NumberFormat(美国风格)格式化数字的主要内容,如果未能解决你的问题,请参考以下文章
Groovy/Grails:如何按 id 对对象列表进行排序
使用 Quartz 调试 Groovy/Grails 应用程序中的堆空间问题