从NumberFormat格式中删除货币字符()

Ran*_*aul 1 java formatting groovy

我在尝试使用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)
Run Code Online (Sandbox Code Playgroud)

这打印$9,876,543.21但我不想要格式化货币中的$或任何货币字符.无论如何要做到这一点?

dma*_*tro 6

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"
Run Code Online (Sandbox Code Playgroud)

getCurrencyInstance()如果不需要货币,则不需要.

  • 这不适用于整数:“5280”将是“5,280”,而不是 op 想要的“5,280.00”。 (2认同)