雙A = 2000; System.out.println(a);
打印出2000.0,而我想打印2E3。用2的雙數我希望2E0等
我知道它開始像這樣打印,當你達到20000000(2E7),並希望爲Double的任何值做它。有沒有一些libairy /函數來做到這一點?我花了幾個小時查看谷歌的結果無濟於事。我通過大量操縱.toHexCode()輸出獲得了這種可能性,但我無法理解它的輸出文檔。我會如何去做這件事?
雙A = 2000; System.out.println(a);
打印出2000.0,而我想打印2E3。用2的雙數我希望2E0等
我知道它開始像這樣打印,當你達到20000000(2E7),並希望爲Double的任何值做它。有沒有一些libairy /函數來做到這一點?我花了幾個小時查看谷歌的結果無濟於事。我通過大量操縱.toHexCode()輸出獲得了這種可能性,但我無法理解它的輸出文檔。我會如何去做這件事?
看看文檔DecimalFormat,應該做你所需要的。
編輯:這裏的(還沒有檢查這一點)的例子:
double myDouble = 2000;
NumberFormat formatter = new DecimalFormat("0E0");
System.out.println(formatter.format(myDouble)); // Should print "2E3"
這聽起來像是一個java.util.Formatter的工作。我自己並沒有使用它,但似乎有科學記數法的功能。 API條目在這裏:http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html
這將打印2E3。更多DecimalFormat類here。
double a = 2000;
DecimalFormat formatter = new DecimalFormat("###E0");
System.out.println(formatter.format(a));
這很有用,非常感謝 – Drake