테스트 사이트 - 개발 중인 베타 버전입니다

계산 결과값이 이상하게 나옵니다 채택완료

세상의지배자 10년 전 조회 4,118

----------------------------------------------------------------------------------------

<script type="text/javascript">
function Display_num() {
    //대입 숫자
    var num1=document.getElementById("num1").value;
    var num2=document.getElementById("num2").value;
    var num3=document.getElementById("num3").value;


    //결과값 넣기
    document.getElementById("is_nums").innerHTML = eval((num1)+("+")+(num2)+("*")+(num3));


  }
</script>


<input type="text" id="num1" style="width:70px;" value=" " />
<input type="text" id="num2" style="width:70px;" value="" />
<input type="text" id="num3" style="width:70px;" value="" />


<br />
<div id="is_nums">계산 결과</div>
<br />
<a href="#" onclick="Display_num();return false;">계산하기</a>​

---------------------------------------------------------------------

2000+2000*2=8000  이럻게 나와야 되는데   2000+2000*2=6000  이렇게 8천이 안나오고 6천이 나옵니다.

왜 그런걸까요? 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
10년 전

​돌아온깡통님 말씀 처럼 연산에는 처리 순서가 있습니다.

6000이 나오는 이유는 2000+(2000*2) 이렇게 계산되기 때문이죠.

 

8000이 나올려면 (2000+2000)*2 처럼 괄호를 사용하시면 안전하게 계산해 낼  수 있습니다. ^^ 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

사칙연산순서는 * / + - 순입니다

2000+4000 이니깐 6000 이겠지요

 

님이 원하는순서대로 하실려면

먼저 + 연산을 한후에

그값에 * 을하세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인