如何在java中用exponents表示较小的Double变量

时间:2011-02-20 19:48:03

标签: java numbers double exponent

例如:

double a = 2000; 的System.out.println(一);

打印出2000.0,而我想打印2E3。 2倍的2倍我希望2E0等。

我知道当你达到20000000(2E7)并且想要为Double的任何值做这样的打印时它会开始打印。是否有一些libairy /函数来做到这一点?我花了几个小时翻阅谷歌搜索结果无济于事。我通过大量操作.toHexCode()输出得到的印象可能是可能的,但我无法理解其输出的文档。我该怎么做呢?

3 个答案:

答案 0 :(得分:3)

查看DecimalFormat的文档,该文档应该可以满足您的需求。

编辑:这是一个例子(尚未检查过):

double myDouble = 2000;
NumberFormat formatter = new DecimalFormat("0E0");
System.out.println(formatter.format(myDouble)); // Should print "2E3"

答案 1 :(得分:3)

打印2E3。有关DecimalFormat类here的更多信息。

double a = 2000; 
DecimalFormat formatter = new DecimalFormat("###E0");       
System.out.println(formatter.format(a));

答案 2 :(得分:2)

这听起来像java.util.Formatter的工作。我自己没有用过它,但似乎能够用科学的符号表示。 API条目位于:http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html