계산 결과값이 이상하게 나옵니다
본문
----------------------------------------------------------------------------------------
<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
돌아온깡통님 말씀 처럼 연산에는 처리 순서가 있습니다.
6000이 나오는 이유는 2000+(2000*2) 이렇게 계산되기 때문이죠.
8000이 나올려면 (2000+2000)*2 처럼 괄호를 사용하시면 안전하게 계산해 낼 수 있습니다. ^^
사칙연산순서는 * / + - 순입니다
2000+4000 이니깐 6000 이겠지요
님이 원하는순서대로 하실려면
먼저 + 연산을 한후에
그값에 * 을하세요