我有一个Double: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 任何想法,为什么失败?
大多数欧洲格式是空间千位分隔符和昏迷小数分隔符......但您可以尝试意大利语或挪威语区域 – Selvin
http://ideone.com/IHc6ID https://docs.oracle.com/cd/E19455-01/806-0169/overview- 9/index.html – Selvin
感谢所有的帮助,混淆来自Locale“fr”,是FRENCH(并且输出是e。 g:5 096,54),但在比利时,法国应该是5.096,54。因此,将我的Locale设置为'Locale l = new Locale(“fr”,“BE”);'确实解决了我的问题 – estoke