关于变量:javascript以0.5递增-如何?

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":。(


newvalue是一个字符串。直接在您的num上使用+=

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 + '°';

但是无论是哪种情况,你都应该把一个数值变量从函数中去掉,并增加它,而不是从上次运行开始加载你在屏幕上发布的温度,然后一遍又一遍。


newvalue是由value.replace("°","");返回的字符串。

而不是

1
var num = newvalue += 0.5;

使用

1
newValue = parseInt(newvalue, 10) + 0.5;

(因为您不在任何其他地方使用num,所以不需要分配任何结果。)