2014-11-26 2 views
0

버튼을 클릭하면받은 innerHTML 문자열을 변환해야합니다. (계산기를 만들고 있습니다) 필요하면 여기를 클릭하십시오. 내 JS :문자열 입력을 단추의 입력에서 가져온 문자열로 변환하는 방법

window.onload = function() { 
// your code here 
var counter = document.getElementById("scherm"); 
    var optellen = document.getElementById("1"); 
    var buttons = document.getElementsByTagName("button"); 
    var operators = ["+", "-", "*", "/", "=", "C"] 

    // maak for loop voor buttons 
    for(var i=0; i<buttons.length; i++) 
    { 
     buttons[i].addEventListener("click", screen); 
    } 

    //optellen.addEventListener("click", screen); //+ string + sting aan het einde als je wilt gaan uitrekenen doe je parseInt() 

    function screen() { 
     if(operators.indexOf(this.innerHTML) != -1) 
     { 

      if(operators.indexOf(this.innerHTML) == 5) 
      { 
       document.getElementById("scherm").innerHTML=""; 
      } 

     } 
     else 
     { 

      counter.innerHTML += this.innerHTML; 
     } 

     console.log(this.innerHTML); 

     //if(counter.innerHTML == this.inner) 
     //counter.innerHTML = buttons.innerHTML; 
     // 
    } 

}}; 요청 HTML로

는 : <div id="rekenmachine"> <header><p id="scherm"></p></header> <section id="knoppen"> <div class="row"> <button value="1">1</button> <button value="2" class="pos">2</button> <button value="3" class="pos">3</button> <button value="+" class="pos">+</button> </div> <div class="row"> <button value="">4</button> <button value="" class="pos">5</button> <button value="" class="pos">6</button> <button value="" class="pos">-</button> </div> <div class="row"> <button value="">7</button> <button class="pos">8</button> <button class="pos">9</button> <button class="pos">*</button> </div> <div class="row"> <button value="">C</button> <button value="" class="pos">0</button> <button value="" class="pos">=</button> <button value="" class="pos">/</button> </div> </section>

+0

당신은 HTML을 너무 보여 주시겠습니까? –

+0

도 [parseInt()'] (http : //stackoverflow.com/a/3342079/3419997) – turtle

답변

0

이 그것을해야한다.

parseInt("10"); 

출처 :

0

http://www.w3schools.com/jsref/jsref_parseint.asp이 한 번 봐 가지고 :

http://www.w3schools.com/jsref/jsref_parseint.asp

(당신은 같은 것을 수행해야합니다으로 parseInt (counter.innerHTML))를

else { 
    var result; 
    if(counter.innerHTML != "") { 
     result = parseInt(counter.innerHTML); 
     } else { 
      result = 0; 
     } 
    result += parseInt(this.innerHTML); 
    counter.innerHTML = result; } 
+0

에있는 [base를 기억하고있다.]'document.getElementById ("scherm"). innerHTML = parseInt document.getElementById ("scherm"). innerHTML);하지만 숫자의 앞쪽에만 NaN을 삽입합니다. –

+0

그게 정확한 정보는 아닙니다;). innerHTML을 구문 분석 할 수 있는지 확인하십시오. (위도는 숫자 값만 표시됨). 우리 언어 (네덜란드어)로 설명하는 것이 훨씬 쉽다. 규칙에 위배된다. :) 당신은 값을 파싱하고 그것들과 함께 계산하고, 다른 div (innerHTML)에 넣으면 automaticcaly가 다시 String으로 해석됩니다. –

+0

게시물에 HTML을 추가 할 수 있습니까? –

0

시도해 볼 수 있습니다

구문 분석 기능. 인식하지 못하는 것보다 문자를 치는 경우 구문 분석이 멈 춥니 다. 구문 분석이 첫 번째 심볼에서 중지되면 NaN

parseInt("1") = 1 
parseInt("1a") = 1 
parseInt("a1") = NaN 

유형이 반환됩니다.

단항 플러스

+"1" = 1 
+"1.231" = 1.231 
+"1a" = NaN 
+"a1" = NaN 

비트 NOT

~~"1" = 1 
~~"1.231" = 1 
~~"a1" = 0 
~~"1a" = 0 
~~"a" = 0 

곱셈 연산자

"1" * 1 = 1 
"1a" * 1 = NaN 
"a1" * 1 = NaN 
"a" * 1 = NaN 
+0

당신의 대답에 대한 몇 가지 설명을 추가하십시오. – DontVoteMeDown

관련 문제