JavaScript增量为0.5-如何增加?
将数字递增0.5时出现问题。我使用了“+=”运算符,但并没有增加我的数字,而是在数字的末尾添加了“0.5”值。例如:JavaScript增量为0.5-如何增加?,javascript,variables,increment,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 = new
<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>
函数setTempUp(){
var值=document.getElementById(“targetTemp”).firstChild.data;
var newvalue=value.replace(“”,“”);
var num=新编号(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(“样式”,“高度:”+coverNew+“px”);
}
我还将“”附加到我的“newTemp”上,因为我有一个温度示例。这是个问题吗
例如,我的数字是24-执行时我得到“240.5”:(
newvalue
是一个字符串。直接在num上使用+=
:
num += 0.5;
newValue
是一个字符串-由value返回。替换(“”,“”);
而不是
var num = newvalue += 0.5;
使用
(由于您没有在其他任何地方使用num
,因此不需要为其分配任何结果。)您将其强制转换为一个数字,但仍在以下代码中调用字符串变量:
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 + '°';
但无论是哪一个,都应该在函数中保留一个数值变量,并增加该变量,而不是加载上次运行时在屏幕上显示的温度,然后反复执行该操作。这仍然存在双重赋值的问题,这会引发一个错误。@Giles-它只是更新num
,这是函数中不再使用-附加的var num
声明无效-请参见抱歉,导致错误的不是双赋值,而是您不能将函数parseInt
增加5。啊-您指的是parseInt
的结果,因为它不是变量,所以它是无效的assig这就是我在发布答案之前没有在答案中运行代码的原因。我会更新它。我用过这个-它工作得很好。谢谢大家的快速回答。
var num = new Number(newvalue);
num = num += 0.5;
var newtemp = num + '°';