JavaScript incrementing by 0.5 - how?
我有一个问题,把一个数增加0.5。我使用了"+="运算符,但它不是递增我的数字,而是在数字的末尾加上"0.5"值。示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 | function setTempUp(){ var value = document.getElementById("targetTemp").firstChild.data; var newvalue = value.replace("°",""); var num = new Number(newvalue); var num = newvalue += 0.5; var newtemp = newvalue + '°'; document.getElementById("targetTemp").innerHTML = newtemp; var cover = document.getElementById('tempChange').clientHeight; var coverInt = parseInt(cover, 10); var coverNew = cover - 11; document.getElementById('tempChange').setAttribute("style","height:" + coverNew +"px"); } |
我也将"附加"到"newtemp",因为我有温度的例子。这是个问题吗?
例如,我的号码是24—当执行时,我得到"240.5":。(
1 | num += 0.5; |
您正在将其强制转换为一个数字,但仍然使用以下代码调用字符串变量:
1 2 3 | var num = new Number(newvalue); var num = newvalue += 0.5; var newtemp = newvalue + '°'; |
我想你的意思是
1 2 3 | var num = new Number(newvalue); num = num += 0.5; var newtemp = num + '°'; |
但是无论是哪种情况,你都应该把一个数值变量从函数中去掉,并增加它,而不是从上次运行开始加载你在屏幕上发布的温度,然后一遍又一遍。
而不是
1 | var num = newvalue += 0.5; |
使用
1 | newValue = parseInt(newvalue, 10) + 0.5; |
(因为您不在任何其他地方使用