我正在寫一個簡單的轉換器Java Android應用程序,並且我從一次轉換中收到輸出時遇到了一些麻煩。我的輸入是0.508;從米轉換到km。我希望的價值是0.000508。但是,我得到價值5.08E-4。這讓我困惑。我正在使用的計算很簡單,如下所示。在Java中使用簡單的數學方法的不尋常格式
private double mToKm(double m)
{
return m/1000;
}
謝謝,任何幫助!
我正在寫一個簡單的轉換器Java Android應用程序,並且我從一次轉換中收到輸出時遇到了一些麻煩。我的輸入是0.508;從米轉換到km。我希望的價值是0.000508。但是,我得到價值5.08E-4。這讓我困惑。我正在使用的計算很簡單,如下所示。在Java中使用簡單的數學方法的不尋常格式
private double mToKm(double m)
{
return m/1000;
}
謝謝,任何幫助!
E.g. System.out.printf("%f",mToKm(0.508));
我試圖將D追加到1000的結尾。但是,這並沒有改變。 – 2013-03-16 23:47:44
這是printf示例。不工作嗎? D只是最佳做法。 ;-)爲了更好的格式化,請查看java.util.Formatter。 – vhunsicker 2013-03-16 23:49:17
我通過格式化輸出字符串來獲得所需的結果。 String val = String.format(「%f」,value); 感謝您的幫助 – 2013-03-17 00:17:15
正如許多人所說。這是格式錯誤。我已經解決了這個問題,它將double作爲字符串格式化,然後顯示給用戶。
String val = String.format("%f", value);
感謝大家的幫忙!
5.08e-4 **是** 0.000508。如果你想以不同的方式格式化,你應該探索'System.out.printf()'。 – 2013-03-16 23:32:14
我以爲他們會一樣。你知道我會怎麼去做這個在Android?謝謝 – 2013-03-16 23:38:15
你應該寫1000D而不是1000. – vhunsicker 2013-03-16 23:38:28