如何将 HTML 的本地存储设置为整数而不是字符串

How can I set HTML's localStorage to an integer rather than string?

本文关键字:整数 字符串 设置 存储 HTML      更新时间:2023-09-26

我在尝试制作的游戏中使用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变量。所以我将 moneyText 元素的innerHtml更改为相同的 localStorage 对象,如下所示:

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

这确实节省了值。但是,现在当它增加时,它显示为这样:

01
011
0111
...

和以前一样,我添加了该行,它显示为:

1
2
3
...

本地存储中的值始终为字符串。

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

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

localStorage只保存字符串。用:

money = parseFloat(localStorage.getItem("money"));
localStorage.setItem("money", money.toString());