您好我从sqlite检索数据和一个Float值并返回arraylist:
if (!cursor.isAfterLast())
{
do
{
....
rowArray.add(cursor.getFloat(2));
....
}
while (cursor.moveToNext());
}
当我尝试从列表中设置float变量时,浮动转换中出现问题:
ArrayList<Object> row;
row = db.getNameAsArray(name);
mCurrentPrice=((Float)row.get(2)).floatValue();
此行中没有错误,但应用了FC。简单的浮动投射也不起作用。 感谢任何答案。
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):在android.os.Handler.handleCallback(Handler.java:587) 02-07 22:34:21.547:WARN / System.err(632):在android.os.Handler.dispatchMessage(Handler.java:92) 02-07 22:34:21.596:WARN / System.err(632):在android.os.Looper.loop(Looper.java:123) 02-07 22:34:21.657:WARN / System.err(632):在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 Method)
答案 0 :(得分:3)
正如您的上一条评论所示,您正试图将String
投射到Float
。您的代码并未明确说明您要解决的问题,但如果您的String
值为float
并且想要mCurrentPrice = Float.parseFloat(stringValue);
,则可以执行以下操作:
{{1}}