2014-04-10 107 views
0

正在尝试使用的NumberFormat删除货币字符()

import java.text.NumberFormat; 

BigDecimal currencyAmount = new BigDecimal(9876543.21) 
def currentLocale = Locale.US 
def currencyFormatter = NumberFormat.getCurrencyInstance(currentLocale); 

println "formatted currency = "+currencyFormatter.format(currencyAmount) 

这将打印$9,876,543.21格式化货币,之后除去货币角色,但我不想$或格式的货币的任何货币字符。无论如何去做?

回答

5

Groovy的解决方案:

import java.text.NumberFormat 

def currencyAmount = 9876543.21 //Default is BigDecimal 
def currencyFormatter = NumberFormat.getInstance(Locale.US) 

assert currencyFormatter.format(currencyAmount) == "9,876,543.21" 

不需要getCurrencyInstance()如果货币不requried。

+0

这不适用于整数:'5280'将是'5,280'而不是'5,280.00',这正是我们想要的。 – Madbreaks