2011-03-18 98 views
0

当我的double值超过7位数时,它以科学记数法显示值。但是,我不想要科学记数法。将值从java中的科学记数法转换为简单表示法

DecimalFormat是一种做同样的方法,但为此,我需要将值转换为字符串。 是否可以进行相同的转换,而不将double转换为string。

回答

2

DecimalFormat.format(Object)可以处理double没有任何字符串参与。

+0

我会检查它再次,DecimalFormat.format()方法的返回类型是字符串 – chetan 2011-03-18 10:10:15

+0

嗯,科学记数法中的表示当然总是一个'String',因为你只需要它显示值。内部计算不知道任何符号,它不关心。 – Bombe 2011-03-18 10:28:48

2

如果您显示它,它是一个字符串。

通过使用DecimalFormat的,你只是告诉Java的怎么办转换

没有这一点,它会使用默认的科学记数法

1
double d = 123456789.4335; 
System.out.println(">> "+new DecimalFormat("#0.###").format(d)); 
System.out.println(">> "+d); 

打印

>> 123456789.434 
>> 1.234567894335E8 
相关问题