Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript localStorage连接整数而不是添加_Javascript_Local Storage - Fatal编程技术网

Javascript localStorage连接整数而不是添加

Javascript localStorage连接整数而不是添加,javascript,local-storage,Javascript,Local Storage,尝试使用localStorage存储变量,稍后将其作为整数检索,将其添加到另一个整数,然后再次存储。但是,它似乎将整数视为字符串,并将数字串联起来。我尝试过使用JSON.stringify和parse,但不起作用,我也不明白为什么。(变量hours肯定是一个整数。) 我确信我遗漏了一些非常明显的东西,所以如果有人能指出这一点,那将是非常棒的,谢谢 localStorage将所有内容都视为字符串。在将其用作整数之前,必须先解析其值 此外,应该使用JSON Stringify将数组转换为字符串。您的

尝试使用localStorage存储变量,稍后将其作为整数检索,将其添加到另一个整数,然后再次存储。但是,它似乎将整数视为字符串,并将数字串联起来。我尝试过使用JSON.stringify和parse,但不起作用,我也不明白为什么。(变量
hours
肯定是一个整数。)


我确信我遗漏了一些非常明显的东西,所以如果有人能指出这一点,那将是非常棒的,谢谢

localStorage将所有内容都视为字符串。在将其用作整数之前,必须先解析其值

此外,应该使用JSON Stringify将数组转换为字符串。您的变量hours是Int,因此不需要字符串化它

if (localStorage.getItem('hours_worked') === null) {
   localStorage.setItem('hours_worked', hours);  
}
else {
   var temp_hours = parseInt(localStorage.getItem('hours_worked'),10);
   var temp_hours1 = temp_hours + hours;
   alert(temp_hours1);
   localStorage.setItem('hours_worked', temp_hours1);  
}

localStorage将所有内容都视为字符串。在将其用作整数之前,必须先解析其值

此外,应该使用JSON Stringify将数组转换为字符串。您的变量hours是Int,因此不需要字符串化它

if (localStorage.getItem('hours_worked') === null) {
   localStorage.setItem('hours_worked', hours);  
}
else {
   var temp_hours = parseInt(localStorage.getItem('hours_worked'),10);
   var temp_hours1 = temp_hours + hours;
   alert(temp_hours1);
   localStorage.setItem('hours_worked', temp_hours1);  
}

localStorage将所有内容都视为字符串。在将其用作整数之前,必须先解析其值

此外,应该使用JSON Stringify将数组转换为字符串。您的变量hours是Int,因此不需要字符串化它

if (localStorage.getItem('hours_worked') === null) {
   localStorage.setItem('hours_worked', hours);  
}
else {
   var temp_hours = parseInt(localStorage.getItem('hours_worked'),10);
   var temp_hours1 = temp_hours + hours;
   alert(temp_hours1);
   localStorage.setItem('hours_worked', temp_hours1);  
}

localStorage将所有内容都视为字符串。在将其用作整数之前,必须先解析其值

此外,应该使用JSON Stringify将数组转换为字符串。您的变量hours是Int,因此不需要字符串化它

if (localStorage.getItem('hours_worked') === null) {
   localStorage.setItem('hours_worked', hours);  
}
else {
   var temp_hours = parseInt(localStorage.getItem('hours_worked'),10);
   var temp_hours1 = temp_hours + hours;
   alert(temp_hours1);
   localStorage.setItem('hours_worked', temp_hours1);  
}


您的JSON看起来怎么样?看起来你有一个字符串而不是一个数字。调用
parseInt(…,10)
Number(…)
。更好吗?谢谢,是的,我曾经玩过parseInt,但之前无法让它工作,谢谢你给我指出了正确的方向,现在一切都好了!您的JSON看起来怎么样?看起来你有一个字符串而不是一个数字。调用
parseInt(…,10)
Number(…)
。更好吗?谢谢,是的,我曾经玩过parseInt,但之前无法让它工作,谢谢你给我指出了正确的方向,现在一切都好了!您的JSON看起来怎么样?看起来你有一个字符串而不是一个数字。调用
parseInt(…,10)
Number(…)
。更好吗?谢谢,是的,我曾经玩过parseInt,但之前无法让它工作,谢谢你给我指出了正确的方向,现在一切都好了!您的JSON看起来怎么样?看起来你有一个字符串而不是一个数字。调用
parseInt(…,10)
Number(…)
。更好吗?谢谢,是的,我曾经玩过parseInt,但之前无法让它工作,谢谢你给我指出了正确的方向,现在一切都好了!你好,谢谢,这几乎是完美的。然而,它现在说临时工作时间很短。你知道如何解决这个问题吗?这很奇怪,因为它对我有效:你能补充更多关于你问题的信息吗?在放入本地存储之前的几个小时是什么原因?(做一个警报(小时的类型);)刚刚做了
警报(小时的类型)
,它出现了字符串!我确信小时数是一个整数,就像我以前对它做算术一样,它是这样创建的:
var hours=$('shift\u end\u time')。timepicker('getSecondsFromMidnight')-$('shift\u start\u time')。timepicker('getSecondsFromMidnight');如果(小时<0){hours+=86400;}hours=(小时/3600).toFixed(2)另外,我不知道alert(typeof),所以谢谢你教我一些新东西!不客气;)问题是固定的,它将数字转换为字符串。我猜你在寻找一些舍入函数。在javascript中使用Math对象
hours=Math.round((hours/3600)*100)/100
ah现在我明白了,谢谢你的帮助,我学到了很多,我的作业现在应该会顺利完成。谢谢,这几乎是完美的。然而,它现在说临时工作时间很短。你知道如何解决这个问题吗?这很奇怪,因为它对我有效:你能补充更多关于你问题的信息吗?在放入本地存储之前的几个小时是什么原因?(做一个警报(小时的类型);)刚刚做了
警报(小时的类型)
,它出现了字符串!我确信小时数是一个整数,就像我以前对它做算术一样,它是这样创建的:
var hours=$('shift\u end\u time')。timepicker('getSecondsFromMidnight')-$('shift\u start\u time')。timepicker('getSecondsFromMidnight');如果(小时<0){hours+=86400;}hours=(小时/3600).toFixed(2)另外,我不知道alert(typeof),所以谢谢你教我一些新东西!不客气;)问题是固定的,它将数字转换为字符串。我猜你在寻找一些舍入函数。在javascript中使用Math对象
hours=Math.round((hours/3600)*100)/100
ah现在我明白了,谢谢你的帮助,我学到了很多,我的作业现在应该会顺利完成。谢谢,这几乎是完美的。然而,它现在说临时工作时间很短。你知道如何解决这个问题吗?这很奇怪,因为它对我有效:你能补充更多关于你问题的信息吗?在放入本地存储之前的几个小时是什么原因?(做一个警报(小时的类型);)刚刚做了
警报(小时的类型)
,它出现了字符串!我确信小时数是一个整数,就像我以前对它做算术一样,它是这样创建的:
var hours=$('shift\u end\u time')。timepicker('getSecondsFromMidnight')-$('shift\u start\u time')。timepicker('getSecondsFromMidnight');如果(小时<0){hours+=86400;}hours=(小时/3600).toFixed(2)另外,我不知道alert(typeof),所以谢谢你教我一些新东西!不客气;)问题是固定的,它将数字转换为字符串。我猜你在寻找一些舍入函数。