Javascript 将字符串转换为数字,对其进行数学运算,然后将其转换回,并将该值作为字符串给出跨度
我试图从文本框中获取输入的值,并将它们转换为字符串,合计金额,然后将Javascript 将字符串转换为数字,对其进行数学运算,然后将其转换回,并将该值作为字符串给出跨度,javascript,jquery,parsing,tostring,Javascript,Jquery,Parsing,Tostring,我试图从文本框中获取输入的值,并将它们转换为字符串,合计金额,然后将的innerHTML设置为该值 function addBills(){ var hundreds = parseInt($("#input100").innerHTML(),10)*100; fifties = parseInt($("#input50").innerHTML(),10)*50; twenties = parseInt($("#input20").inn
的innerHTML设置为该值
function addBills(){
var
hundreds = parseInt($("#input100").innerHTML(),10)*100;
fifties = parseInt($("#input50").innerHTML(),10)*50;
twenties = parseInt($("#input20").innerHTML(),10)*20;
tens = parseInt($("#input10").innerHTML(),10)*10;
fives = parseInt($("#input5").innerHTML(),10)*5;
ones = parseInt($("#input1").innerHTML(),10);
regTotal = hundreds+fifties+twenties+tens+fives+ones;
window.alert(regTotal);
/*var regTotal = (($("#input100").innerHTML * 100)+($("#input50").innerHTML * 50)+($("#input20").innerHTML * 20)+($("#input10").innerHTML * 10)+($("#input5").innerHTML *5)+($("#input1").innerHTML));*/
for(var counter = 0;counter<regTotal;counter++){
regString = regTotal.toString();
$("#totalCount").innerHTML("regTotal");
}
};
函数addBills(){
变量
数百=parseInt($(“#input100”).innerHTML(),10)*100;
五十年代=parseInt($(“#input50”).innerHTML(),10)*50;
twenties=parseInt($(“#input20”).innerHTML(),10)*20;
tens=parseInt($(“#input10”).innerHTML(),10)*10;
fives=parseInt($(“#input5”).innerHTML(),10)*5;
one=parseInt($(“#input1”).innerHTML(),10);
regTotal=百+五十+二十+十+五+一;
窗口警报(regTotal);
/*var regTotal=($(“#input100”).innerHTML*100+($(“#input50”).innerHTML*50+($(“#input20”).innerHTML*20+($(“#input10”).innerHTML*10+($(“#input5”).innerHTML*5+($($(“#input1”).input1”).innerHTML))*/
对于(var counter=0;counter您做错了
首先
function addBills(){
var
hundreds = parseInt($("#input100").innerHTML(),10)*100;
数百
是唯一的局部变量。所有其他变量都是全局变量。修复方法:在一个var语句中使用逗号而不是分号分隔变量
其次,输入字段有一个值(不是innerHTML
,尤其不是innerHTML()
函数)。
输入字段值始终为文本。可以通过Number(string)
或parseInt(string,基数/基数)
将其转换为数字(或在字符串前面添加+
)
最后,一旦有了span元素,您只需执行以下操作:elm\u span.innerHTML=yourNumber;
和bob的叔叔
编辑:
您当前的循环毫无意义。我的意思是,如果regTotal
是现金的总和…并且您有一个span,它具有唯一的idtotalCount
。这完全没有意义(就像尝试将totalCount
转换为数千次字符串一样)
您可能需要以下内容:
function addBills(){
var hundreds = Number(document.getElementById('input100').value)*100
, fifties = Number(document.getElementById('input50').value)*50
, twenties = Number(document.getElementById('input20').value)*20
, tens = Number(document.getElementById('input10').value)*10
, fives = Number(document.getElementById('input5').value)*5
, ones = Number(document.getElementById('input1').value)
, regTotal = hundreds+fifties+twenties+tens+fives+ones
; //end local
document.getElementById('totalCount').innerHTML=regTotal;
}
工作示例
希望这有帮助!你的问题是什么?innerHTML()应该是html()。您将jQuery和纯js混合在一起。innerHTML不是一个函数。这些是输入字段。我需要将这些值转换为数字所需的一切,执行必要的数学运算,然后将其转换回字符串,并使我的标记显示值。很抱歉,我很难弄清楚如何询问span.innerHTML=''+(数字(elm_a.值)+数字(elm_b.值));
等等。瞧。PS:完全崩溃的var背后的想法是什么(只有数百个
是本地的)?该值起作用了,我可以得到警报以显示正确的值(我这样做只是为了测试数学函数)但是它并没有改变跨度。我想让它在从1上升到总数时显示数字。我想把它改为计数器,这实际上是我错过的。对于(var counter=0;counter)你想让跨度值计算到总值吗?就像一个快速运行的时钟一样?在这种情况下,你需要做一个超时,因为(我希望)您的计算机的计数速度快于它所能显示的速度(或者如果值被多次更新,您所能看到的情况,而事实并非如此),它通常会呈现最终结果,因此超时(或间隔)。现在让它显示结果就可以了