如何从对象数组中的Float转换为float变量?

时间:2011-02-07 22:17:53

标签: java android

您好我从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)

1 个答案:

答案 0 :(得分:3)

正如您的上一条评论所示,您正试图将String投射到Float。您的代码并未明确说明您要解决的问题,但如果您的String值为float并且想要mCurrentPrice = Float.parseFloat(stringValue); ,则可以执行以下操作:

{{1}}