我有一个双倍,其值为10,000,000.00(一千万)。我必须
将其转换为String
。使用方法toString
时,我收到了String
“1.0E7”符合规范是正确的。不幸的是我需要
String
“10,000,000.00”(或等效项取决于区域设置)。
如何实现这一目标?
答案 0 :(得分:12)
尝试
NumberFormat http://java.sun.com/javase/6/docs/api/java/text/NumberFormat.html
DecimalFormat http://java.sun.com/javase/6/docs/api/java/text/DecimalFormat.html
答案 1 :(得分:5)
除格式化程序外,您可以考虑使用java.math.BigDecimal
类来精确表示数字。
需要完全准确性的计算(例如财务计算)最好使用BigDecimal
执行。浮点数学更适用于工程,图形和其他数学计算,其中可以牺牲一些精度来提高速度。
答案 2 :(得分:4)
public static void main(String[] args) throws ParseException {
double aDouble = 10000000.00;
DecimalFormat nf = (DecimalFormat) NumberFormat.getInstance(Locale.US);
String aString = Double.toString(aDouble);
System.out.println(nf.parse(aString));
}
答案 3 :(得分:2)
查看“DecimalFormat”。它允许您根据需要格式化输出!