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))

但是如何格式化列表中salaryannualPackage的所有值。

【问题讨论】:

【参考方案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 对对象列表进行排序

Groovy Grails 处理控制器参数

使用 Quartz 调试 Groovy/Grails 应用程序中的堆空间问题

使 IntelliJ 突出显示 Groovy/Grails 语法错误

在 Groovy/Grails 中使用 JSON 创建对象

在 Grails 中使用 Groovy-Eclipse 插件进行开发