【发布时间】:2015-07-11 05:46:04
【问题描述】:
我正在尝试以用户区域设置格式以与数据一起提供的相对货币显示商品的价格。
例如商品为欧元,在英国应显示为 123.64 欧元,但在法国应显示为 123.64 欧元
我希望根据用户区域设置货币符号和小数点分隔符。
但是,让我卡住的部分是如果商品没有便士/美分价值,如何去除 .00。
我尝试过使用
NumberFormat f = NumberFormat.getInstance(loc);
if (f instanceof DecimalFormat) {
((DecimalFormat)f).setDecimalSeparatorAlwaysShown(false);
}
来自DecimalFormat.html#setCurrency
但它没有货币符号,即使我尝试使用 f.setCurrency()。
我还尝试将 getInstance 更改为 getCurrencyInstance,它现在应用货币符号,但忽略了 setDecimalSeparatorAlwaysShown(false) 部分。
我考虑过检查余数是否为 0,然后将其去掉,但这需要我检查/知道小数点分隔符是什么,虽然这可能可行,但很 hacky。
有没有人知道做所有这些事情的方法?!
【问题讨论】:
标签: java android currency number-formatting