Tag: numericupdown

Java:格式数以百万计

有没有办法使用DecimalFormat(或其他一些标准格式化程序)来格式化这样的数字: 1,000,000 => 1.00M 1,234,567 => 1.23M 1,234,567,890 => 1234.57M 基本上将一些数字除以100万,保留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中。