我正在使用Android上的PhoneGap API。 API模擬webSQL進行存儲。我遇到了一個問題,我不確定是否將其歸因於我對JavaScript的有限知識,或者我在PhoneGap/WebSQL中缺少的東西。長期以來,我通過WebSQL將UNIX時代時間戳存儲爲FLOAT。webSQL浮點問題
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);
}
的問題是,「時間戳」值被截斷。日誌顯示1.29762e + 09,我繪製的結果圖反映了這種精度損失。
在這裏使用parseFloat或toFixed會導致相同的精度損失,只是採用不同的可打印格式。表格定義使用FLOAT作爲時間戳,所以在我對它們做任何事情之前,爲什麼我的值會發生變化,所以我有點不知所措。