例如:
双a = 2000;System.out.println(a);
打印出 2000.0,而我想打印 2E3。对于 2 的双倍,我希望 2E0 等。
我知道当您达到 20000000 (2E7) 并希望为任何 Double 值进行打印时,它会开始打印。是否有一些自由/功能可以做到这一点?我花了几个小时浏览谷歌结果无济于事。我的印象是,通过大量操作 .toHexCode() 输出,这可能是可能的,但我无法理解其输出的文档。我该怎么做呢?
查看DecimalFormat的文档,这应该可以满足您的需要。
编辑:这是一个例子(没有检查过):
double myDouble = 2000;
NumberFormat formatter = new DecimalFormat("0E0");
System.out.println(formatter.format(myDouble)); // Should print "2E3"
这将打印 2E3。更多关于 DecimalFormat 类的信息。
double a = 2000;
DecimalFormat formatter = new DecimalFormat("###E0");
System.out.println(formatter.format(a));
这听起来像是 java.util.Formatter 的工作。我自己没有用过,但它似乎可以进行科学计数。API条目在这里:http: //download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html