Java:格式数字(百万)

有没有一种方法可以使用DecimalFormat(或其他一些标准格式化程序)来格式化数字,如下所示:

1,000,000 => 100万

1,234,567 => 1.23M

1,234,567,890 => 1234.57M

基本上是将某个数字除以100万,保留小数点后两位,并在最后打一个’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);

}

请注意,因此,我不能期望客户端被一百万除以,并且我不能只使用String.format()而不将其包装在NumberFormatter中。

回答:

String.format("%.2fM", theNumber/ 1000000.0);

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

javadocs。

以上是 Java:格式数字(百万) 的全部内容, 来源链接: utcz.com/qa/403460.html

回到顶部