2011-02-07 27 views
2

您好我檢索數據,並從sqlite的一個浮動值,並返回數組列表:發生在浮投如何從對象數組中的Float轉換爲浮點型變量?

if (!cursor.isAfterLast()) 
     { 
      do 
      { 
       .... 
       rowArray.add(cursor.getFloat(2)); 
       .... 
      } 
      while (cursor.moveToNext()); 
     } 

問題,當我嘗試從列表浴液變量:

ArrayList<Object> row; 
     row = db.getNameAsArray(name); 

     mCurrentPrice=((Float)row.get(2)).floatValue(); 

有沒有錯誤,但在這一行的應用程序功能。簡單的浮法投射既不工作也不工作。 Thx任何答案。

logcat的:

02-07 22:34:19.537: ERROR/Retrieve Error(632): java.lang.ClassCastException: java.lang.String 

02-07 22:34:21.217:WARN/System.err的(632):java.lang.ClassCastException:java.lang.String中 02-07 22時34: 21.267:WARN/System.err(632):at com.testing.retrieveDrinkName(DatabaseActivity.java:222) 02-07 22:34:21.527:WARN/System.err(632):at android.os.Handler。 handleCallback(Handler.java:587) 02-07 22:34:21.547:WARN/System.err(632):at android.os.Handler.dispatchMessage(Handler.java:92) 02-07 22:34: 21.596:WARN/System.err(632):at android.os.Looper.loop(Looper.java:123) 02-07 22:34:21.657: WARN/System.err(632):at android.app.ActivityThread.main(ActivityThread.java:4363) 02-07 22:34:21.667:WARN/System.err(632):at java.lang.reflect。 Method.invokeNative(Native Method) 02-07 22:34:21.737:WARN/System.err(632):at java.lang.reflect.Method.invoke(Method.java:521) 02-07 22:34 :21.769:WARN/System.err(632):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:860) 02-07 22:34:21.797:WARN/System.err(632) ):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 02-07 22:34:21.817:WARN/System.err(632):at dalvik.system.NativeStart.main(Native方法)

+1

使用的logcat看到錯誤導致FC。要查看logcat,請在eclipse中切換到DDMS透視圖或在命令行上運行adb logcat。 – 2011-02-07 22:20:19

+0

因此,名爲「getNameAsArray」的方法返回浮點值?爲什麼? – 2011-02-07 22:21:05

回答

3

正如您最後的評論顯示的那樣,您正試圖將String投射到Float。您的代碼不說清楚正是你試圖要解決的問題,但如果你有一個String值,很想float,你可以這樣做:

mCurrentPrice = Float.parseFloat(stringValue); 
相關問題