保存浮点数sqlite错误舍入

时间:2013-10-25 12:01:11

标签: android sqlite

我在我的aplicaton中保存了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, " +

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您应该将java中的float变量更改为double,它具有更高的精度。以下answer解释了问题。

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

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

输出结果为:

22.200000763