2014-02-12 65 views
1

我想將1.09478878083135368E7的double值轉換爲int。 所以我用(int)不工作?

int formatted =(int)1.09478878083135368E7;

然後,我通過使用

最終弦距離=將String.valueOf(格式化)這個值發送到另一個活動爲字符串;

我期待看到「1」作爲結果,但我得到的是10947878. 任何想法?

回答

6

1.09478878083135368E7 ..請注意E7,即(scientific) E notation「將E期移至右邊」。

所以在你的情況下; 1.09478878083135368E7變成10947887.8083135368,所以轉換爲int給了我們10947887(你有10947878這可能是一個錯字?)

+1

要添加,如果你想要的整數值,用戶'Math.round' – thepoosh

+0

爲什麼?使用Math.round也得到10947878 – EasterKim

+1

'Math.Round'可能實際上讓你+1在這種情況下,因爲'.8';所以'Math.Round'上的數字應該是'10947888'(可能不是你想要的在這種情況下?) – txtechhelp