【发布时间】:2016-06-10 10:09:37
【问题描述】:
我有一个双倍:5096,54 我需要将其格式化为:5.096,54(欧洲货币格式) 我正在尝试使用此代码,但没有成功。
Locale l = Locale.getDefault(); // ("fr" in my case)
// Get the formatter for the specific locale
NumberFormat formatter = NumberFormat.getNumberInstance(l);
// Always 2 decimals
formatter.setMinimumFractionDigits(2);
formatter.setMaximumFractionDigits(2);
// Format
return formatter.format(d);
输出:5 096,54 当我期待 5.096,54 知道为什么会失败吗?
【问题讨论】:
-
大多数欧洲格式是空格作为千位分隔符和逗号作为小数分隔符...但您可以尝试意大利语或挪威语语言环境
-
感谢大家的帮助,混淆来自于语言环境“fr”是法语(输出例如:5 096,54)但在比利时,法语应该是5.096,54。因此,将我的语言环境设置为 'Locale l = new Locale("fr", "BE");'确实解决了我的问题
标签: java android numberformatter