2013-03-16 45 views
0

我正在寫一個簡單的轉換器Java Android應用程序,並且我從一次轉換中收到輸出時遇到了一些麻煩。我的輸入是0.508;從米轉換到km。我希望的價值是0.000508。但是,我得到價值5.08E-4。這讓我困惑。我正在使用的計算很簡單,如下所示。在Java中使用簡單的數學方法的不尋常格式

private double mToKm(double m) 
{ 
    return m/1000; 
} 

謝謝,任何幫助!

+14

5.08e-4 **是** 0.000508。如果你想以不同的方式格式化,你應該探索'System.out.printf()'。 – 2013-03-16 23:32:14

+0

我以爲他們會一樣。你知道我會怎麼去做這個在Android?謝謝 – 2013-03-16 23:38:15

+0

你應該寫1000D而不是1000. – vhunsicker 2013-03-16 23:38:28

回答

1

E.g. System.out.printf("%f",mToKm(0.508));

+0

我試圖將D追加到1000的結尾。但是,這並沒有改變。 – 2013-03-16 23:47:44

+0

這是printf示例。不工作嗎? D只是最佳做法。 ;-)爲了更好的格式化,請查看java.util.Formatter。 – vhunsicker 2013-03-16 23:49:17

+1

我通過格式化輸出字符串來獲得所需的結果。 String val = String.format(「%f」,value); 感謝您的幫助 – 2013-03-17 00:17:15

0

正如許多人所說。這是格式錯誤。我已經解決了這個問題,它將double作爲字符串格式化,然後顯示給用戶。

String val = String.format("%f", value); 

感謝大家的幫忙!