JavaScript递增0.5 - 怎么样?

时间:2013-02-24 17:51:02

标签: javascript variables increment

我有一个问题,将数字递增0.5。我使用了“+ =”运算符,但不是递增我的数字,而是在数字末尾添加“0.5”值。例如:

    <script>
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");
}       
</script>

我也“附加”“°”到我的“newTemp”,因为我有温度的例子。这是一个问题吗?

所以,我的号码是24例如 - 执行时我得到“240.5”:(

3 个答案:

答案 0 :(得分:6)

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

num += 0.5;

答案 1 :(得分:1)

您将它转换为数字,但仍然在以下代码中调用字符串变量:

var num = new Number(newvalue);
var num = newvalue += 0.5;
var newtemp = newvalue + '°';

我认为你打算做的是

var num = new Number(newvalue);
num = num += 0.5;
var newtemp = num + '°';

但不管它是什么,你都应该保留一个数值变量,并将其增加,而不是加载你在上次运行时在屏幕上发布的温度,然后反复再做一次。

答案 2 :(得分:0)

newValue是一个字符串 - 由value.replace("°","");

返回

而不是

var num = newvalue += 0.5;

使用

newValue = parseInt(newvalue, 10) + 0.5;

(由于您未在其他地方使用num,因此无需为其分配任何结果。)