Javascript webSQL浮点问题

Javascript webSQL浮点问题,javascript,cordova,Javascript,Cordova,我正在Android上使用PhoneGap API。API模拟webSQL进行存储。我遇到了一个问题,我不确定是因为我对JavaScript的知识有限,还是因为我缺少PhoneGap/WebSQL 长话短说,我通过WebSQL将UNIX时代的时间戳存储为浮点 tx.executeSql("INSERT INTO timeline VALUES(0, 10, 100, 1297618964.65, '2011-02-13')"); tx.executeSql("IN

我正在Android上使用PhoneGap API。API模拟webSQL进行存储。我遇到了一个问题,我不确定是因为我对JavaScript的知识有限,还是因为我缺少PhoneGap/WebSQL

长话短说,我通过WebSQL将UNIX时代的时间戳存储为浮点

        tx.executeSql("INSERT INTO timeline VALUES(0, 10, 100, 1297618964.65, '2011-02-13')");
        tx.executeSql("INSERT INTO timeline VALUES(0, 8, 120, 1297618985.65, '2011-02-13')");
然后使用简单的select语句查询这些值,并使用以下代码读取:

        for (i = 0; i < results.rows.length; i++){
            console.log(results.rows.item(i).timestamp);
            timestamps.push(results.rows.item(i).timestamp);
            weights.push(results.rows.item(i).intensity);    
        }
for(i=0;i
问题是“timestamp”值似乎被截断了。日志显示为1.29762e+09,我绘制的结果图反映了这种精度损失


在这里使用parseFloat或toFixed会造成同样的精度损失,只是使用了不同的可打印格式。表定义使用FLOAT作为时间戳,所以我有点不明白为什么我的值在使用它们之前会被转换成这样。

您能在表定义中使用DOUBLE作为字段吗

为什么你的时间戳是浮动的?你需要那样的吗?在javascript中,时间戳是以整数表示的自历元起的毫秒。在我编写的应用程序中,我可以在webSQL中存储这样的时间戳。 小数点后有毫秒吗?然后,也许你可以乘以1000并存储为long int,然后在从db加载1000之后再除以1000