当前位置:  开发笔记 > 编程语言 > 正文

Java:格式数以百万计

如何解决《Java:格式数以百万计》经验,为你挑选了1个好方法。

有没有办法使用DecimalFormat(或其他一些标准格式化程序)来格式化这样的数字:

1,000,000 => 1.00M

1,234,567 => 1.23M

1,234,567,890 => 1234.57M

基本上将一些数字除以1百万,保留2位小数,并在末尾打一个"M".我已经考虑过创建一个新的NumberFormat子类,但它看起来比我想象的要复杂.

我正在编写一个API,其格式方法如下所示:

public String format(double value, Unit unit); // Unit is an enum

在内部,我将Unit对象映射到NumberFormatters.实现是这样的:

public String format(double value, Unit unit)
{
    NumberFormatter formatter = formatters.get(unit);
    return formatter.format(value);
}

请注意,因为这个,我不能指望客户端除以100万,我不能只使用String.format()而不将它包装在NumberFormatter中.



1> jjnguy..:
String.format("%.2fM", theNumber/ 1000000.0);

有关更多信息,请参阅String.format javadocs.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有