Cursor.getString返回意外输出

时间:2014-12-20 10:15:35

标签: android cursor android-sqlite

我曾尝试过这样的

curcountdueamount = mCon.DataFetch("select  sum(balance) as totalamount  from duebills");

while (curcountdueamount.moveToNext()) {

String xCountDueAmount = curcountdueamount.getString(curcountdueamount
                    .getColumnIndex("totalamount"));

}

总金额从查询返回为6268064.695

但是xCountDueAmount返回= 6.26806e + 06

当总金额较小时,当它超过某个范围时返回正确值,它返回一个十进制值。

2 个答案:

答案 0 :(得分:1)

尝试将值设为Long类型。

Long x = curcountdueamount.getLong(curcountdueamount
                    .getColumnIndex("totalamount"));

答案 1 :(得分:1)

e+06scientific notation,意味着10为6的力量。

列中的值是浮点数,将其转换为字符串默认情况下使用科学计数法表示小值和大值。

要自行控制格式,请使用getDouble()自行获取浮点值,并使用例如NumberFormat将其转换为字符串。