2012-09-21 38 views
2

我想從Double類型轉換爲浮動類型。我有這個:Android的帆布轉換從浮動到浮動

Double doubleValue = new Double(result[0].X()); 
canvas.drawCircle(doubleValue.floatValue(), doubleValue.floatValue(), ...); 

結果是一個Point數組。出於某種原因,結果[0] .X()中的值等於128.0,但是當我執行floatValue()時,我得到的是-100.0。

將基本類型Double轉換爲float的正確方法是什麼?

+3

如果'result [0] .X'確實等於'128.0',那麼'doubleValue.floatValue()'也將等於'128.0'。所以'result [0] .X'很可能不是你想象的那樣。 – assylias

+1

將doubleValue或結果出到屏幕上,以便確認它是什麼 – Deepend

+0

是否有某些原因您不僅僅是在執行「float v =(float)result [0] .X;」 ? –

回答

0

實際上,浮點值是正確的(通過調試進行驗證)。但drawcircle不會在指定的位置繪製它......這是一個完全不同的問題。謝謝大家。

+0

Double不是原始數據類型。 「雙」是。你有沒有理由使用Double?也就是說,你的圈子(drawCircle工作得很好)並不是你期望的那樣,完全是另一回事。 floatValue()也是完全可靠的。這些東西已經在Java中使用了很多年,並且經過了徹底的測試/調試。 – Simon

+0

我使用Double的唯一原因是因爲我創建了一個模板化的Point類。 – nevero