例如:
double a = 2000; 的System.out.println(一);
打印出2000.0,而我想打印2E3。 2倍的2倍我希望2E0等。
我知道当你达到20000000(2E7)并且想要为Double的任何值做这样的打印时它会开始打印。是否有一些libairy /函数来做到这一点?我花了几个小时翻阅谷歌搜索结果无济于事。我通过大量操作.toHexCode()输出得到的印象可能是可能的,但我无法理解其输出的文档。我该怎么做呢?
答案 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