【问题标题】:Groovy/Grails iterating the list and formatting the number using NumberFormat(US style)Groovy/Grails 迭代列表并使用 NumberFormat(美国风格)格式化数字
【发布时间】:2016-06-20 05:08:55
【问题描述】:
我有一个 Employee 域类和属性名称、年龄、工资、annualPackage。
当我打电话给Employee.list()。所有属性都将被持久化。
现在我想申请numberformat 的薪水和annualPackage 的属性。我可以通过以下方式实现:
NumberFormat.getNumberInstance(Locale.US).format(Employee.salary.get(0))
但是如何格式化列表中salary和annualPackage的所有值。
【问题讨论】:
标签:
grails
groovy
iteration
grails-orm
number-formatting
【解决方案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)
]
}