我需要显示一个数值,例如123456789.905
采用以下格式123,456,789.90
。但逗号分隔会根据手机中选择的区域设置而变化(就好像美国英语选择的逗号分隔是 3 个位置,如果选择印度英语,则就像12,34,56,789.90
).
我怎样才能格式化我的Double
?
So, java.text.NumberFormat
不幸的是,并不能解决问题,但是com.ibm.icu.text.NumberFormat http://icu-project.org/apiref/icu4j/com/ibm/icu/text/NumberFormat.html does.
你可以使用这个:
Double d = 123456789.905;
com.ibm.icu.text.NumberFormat format = com.ibm.icu.text.NumberFormat.getNumberInstance(new Locale("en", "in"));
format.setMinimumFractionDigits(2);
format.setMaximumFractionDigits(2);
System.out.println(format.format(d));
这输出:12,34,56,789.90
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)