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,它具有唯一的id
totalCount
。这完全没有意义(就像尝试将
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)你想让跨度值计算到总值吗?就像一个快速运行的时钟一样?在这种情况下,你需要做一个超时,因为(我希望)您的计算机的计数速度快于它所能显示的速度(或者如果值被多次更新,您所能看到的情况,而事实并非如此),它通常会呈现最终结果,因此超时(或间隔)。现在让它显示结果就可以了