Android 光标 c.getFloat() return 无限

Android cursor c.getFloat() return Infinity

我几天前从eclipse换到了android studio。

现在我发现了这个奇怪的错误。

if(c.moveToFirst())
                {
                    do
                    {
                        exchange_rate = c.getFloat(columnExRate);
                        if(exchange_rate > 0)
                            total = total + c.getFloat(columnValue) * exchange_rate;
                        else
                            total = total + c.getFloat(columnValue);
                    }while(c.moveToNext());
                }

有时 exchange_rate 等于无穷大。

这仅在特定数据集的第二个循环中发生。

可能是因为我输入的 exchange_rate 像双精度,而我读的是浮点数?

已解决。

我保存了 1 / exchange_rate 值,但没有检查 exchange_rate 是否等于 0。

1 / 0 return无穷大。