在法国和其他国家/地区,货币符号是在货币金额之后,而在其他国家货币符号之前,加上小数点分隔符是逗号而不是点(£0.00对0,00€).
如果我在我的Android设备上使用以下Java代码(来自内存,可能无法编译),我可以获得一个正确格式化的NumberFormat:
NumberFormat format = NumberFormat.getCurrencyInstance(Currency.get(Locale.FRANCE));
此NumberFormat格式化为正确的小数位数(上例中为两个).
我想格式化为财务应用程序的10位小数,同时保持小数点分隔符和“符号侧”正确.
我很乐意构建自己的格式表达式 – 问题是找到特定区域设置或国家/地区的信息.有没有办法在运行时从Java / Dalvik虚拟机中找到它,或者我只是需要对其进行硬编码?
硬编码并不是一个真正的问题,因为我只有大约20种货币需要担心,但显然如果它可以派生那么更容易:)
解决方法:
您可以使用NumberFormat.setMaximumFractionDigits和NumberFormat.setMinimumFractionDigits来控制显示的小数位数.