javascript
  • jquery
  • 2017-10-27 1 views 0 likes 
    0

    HTML 사용자 입력 :jQuery를 수행 수학 연산

    =110*200 
    

    jQuery를 :

    $(document).on("change", ".calculator", function(){ 
         var value = $(this).val(); 
         if(value.charAt(0) == '='){ 
          var newval = value.slice(1); 
          console.log(parseInt(newval)); 
         } 
        }) 
    

    출력 :

    110 
    

    사람은 어떻게이를 이용하여 수학 연산을 수행 할 수 말해 주실 래요 프로그램? 어디에서 내가 잘못 가고 왜 작동하지 않는거야?

    답변

    1

    표현 자체를 평가하지 않기 때문에 이러한 현상이 발생합니다. 문자열 표현식을 정수형으로 변환하고 식에서 식별 가능한 정수 부분을 취하고 * 문자로 분리합니다.

    표현식을 eval로 평가하면 계산됩니다. 또는 Function construct as described in answer here을 사용하여이 표현식을 평가할 수도 있습니다.

    $(document).on("change", ".calculator", function(){ 
     
         var value = $(this).val(); 
     
         console.log(value.charAt(0)); 
     
         if(value.charAt(0) == '='){ 
     
          var newval = value.slice(1); 
     
          console.log(parseInt(eval(newval))); 
     
          console.log(new Function('return ' + newval)()); 
     
         } 
     
        }) 
     
        
     
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     
    <input class="calculator" type="text">

    관련 문제