-1

我在我的应用程序中将浮点数据保存在 sqlite 槽中。问题是,当我保存值 99999.99 时,sqlite 会将其四舍五入为 100000.00。当我尝试保存 999999.99 时也会发生同样的情况,将其四舍五入为 1000000.00。怎么了?问题出在“custo”表中。

public static final String fghs_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS " +
   asdfgasfdg + " (" +      
    cust + " double, " +
4

2 回答 2

0

您应该将java中的float变量更改为具有更高精度的double。下面的答案解释了这个问题。

正如这个答案所指出的,以下是浮点精度的一个很好的例子:

float f = 22.2;
printf("The number is: %.9f\n", f);<>

输出是:

22.200000763
于 2013-10-25T12:09:44.530 回答
0

看来您的 sqlite 表的列类型是整数。如果是这样,则使用 REAL 作为数据类型。

于 2013-10-25T12:05:15.650 回答