java – 正确地将货币格式化为比Locale指定的更多小数位

在法国和其他国家/地区,货币符号是在货币金额之后,而在其他国家货币符号之前,加上小数点分隔符是逗号而不是点(£0.00对0,00€).

如果我在我的Android设备上使用以下Java代码(来自内存,可能无法编译),我可以获得一个正确格式化的NumberFormat:

NumberFormat format = NumberFormat.getCurrencyInstance(Currency.get(Locale.FRANCE));

此NumberFormat格式化为正确的小数位数(上例中为两个).

我想格式化为财务应用程序的10位小数,同时保持小数点分隔符和“符号侧”正确.

我很乐意构建自己的格式表达式 – 问题是找到特定区域设置或国家/地区的信息.有没有办法在运行时从Java / Dalvik虚拟机中找到它,或者我只是需要对其进行硬编码?

硬编码并不是一个真正的问题,因为我只有大约20种货币需要担心,但显然如果它可以派生那么更容易:)

解决方法:

您可以使用NumberFormat.setMaximumFractionDigitsNumberFormat.setMinimumFractionDigits来控制显示的小数位数.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...