本文介绍了Java:以百万为单位的格式数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Basically dividing some number by 1 million, keeping 2 decimal places, and slapping an 'M' on the end. I've thought about creating a new subclass of NumberFormat but it looks trickier than I imagined.
I'm writing an API that has a format method that looks like this:
public String format(double value, Unit unit); // Unit is an enum
Internally, I'm mapping Unit objects to NumberFormatters. The implementation is something like this:
public String format(double value, Unit unit)
{
NumberFormatter formatter = formatters.get(unit);
return formatter.format(value);
}
Note that because of this, I can't expect the client to divide by 1 million, and I can't just use String.format() without wrapping it in a NumberFormatter.
解决方案
String.format("%.2fM", theNumber/ 1000000.0);
For more information see the String.format javadocs.
这篇关于Java:以百万为单位的格式数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!