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