如何将HTML的localStorage设置为整数而不是字符串?

时间:2016-01-24 23:26:47

标签: javascript html5 local-storage

我在尝试制作的游戏中使用localStorage时遇到问题。同样不是money变量被设计为每秒增加1。这是我的一些代码:

var money = 0;
window.onload = function () {
    load();
    window.setInterval(save, 2500);
};
function save(){
    localStorage.setItem("money", money);
};
function load() {
    document.getElementById("moneyText").innerHTML = localStorage.getItem("money");
};

我的问题是save函数每2500毫秒覆盖money变量。所以我将innerHtml元素的moneyText更改为相同的localStorage对象,如下所示:

function load() {
    document.getElementById("moneyText").innerHTML = localStorage.getItem("money");
    money = localStorage.getItem("money");
};

哪个可以节省价值。 然而,现在当它增加时,它会显示如下:

01
011
0111
...

在此之前,我添加了该行,它显示为:

1
2
3
...

2 个答案:

答案 0 :(得分:3)

The values in Local Storage are always a string

您可以在分配money之前使用parseFloat

 money = parseFloat(localStorage.getItem("money"));

答案 1 :(得分:2)

localStorage仅包含字符串。使用:

money = parseFloat(localStorage.getItem("money"));

localStorage.setItem("money", money.toString());