Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

자바스크립트(Javascript) 수학, 난수 계산에 쓰이는 Math 객체 3, Random 함수

 

환경: Eclipse Mars

 

Math 내장 객체의 대표적인 함수 중 하나가 Random 함수 입니다. 랜덤으로 숫자를 추출 하고 싶을 때 쓰이는 자주 사용하는 함수 입니다. 이런 랜덤 함수를 사용해서 자신이 원하는 숫자의 범위 내에서 값을 뽑아 내는 방법에 대해 알아 보도록 하겠습니다.

 

Math.random() 함수를 사용하면 0 ~ 1 사이의 값이 나오게 됩니다. “”0.856325413” 처럼 출력이 되는 것이죠. 이렇게 출력되는 값을 가지고 특정 구역의 값을 출력하기 위해서 값을 더하거나 곱하기를 합니다. 예를 들어 1부터 10 사이값을 알고 싶다면 (Math.random() * 10) + 1 으로 수식을 만듭니다. 만약 +1 하지 않으면 0 ~ 9 사이값이 출력되겠죠. 만약 5에서 10 사이라면 +1 +5 로 최소값을 바꿔 주면 됩니다.

<!DOCTYPE HTML>
<html>
<head>
<meta charset="euc-kr">
<title>Javascript</title>
<style type="text/css">
body {background-color: #e7e7e7;}
div {margin : 10px;}
</style>
<script type="text/javascript">
<!--
	var a = Math.random() + "<br/>";
	var b = (Math.random(Math.random() * 10) + 1) + "<br/>";
	
	document.write(a + b);
//-->
</script>
</head>
<body>
</body>
</html>

자바스크립트(Javascript) 수학, 난수 계산에 쓰이는 Math 객체 3부, Random 함수


마지막으로 소수점을 없애기 위해 floor 함수를 이용합니다. floor 은 내림 함수 입니다. 소수점 아래 값은 없애 버리는 것이죠. 그럼 1 ~ 10 사이에 정수값이 나오는 것입니다. floor 함수를 사용하지 않고 round 함수를 사용하게 되면 1 ~ 11 의 사이값이 나옵니다. 반올림이 되기 때문이죠

var a = Math.random() + "<br/>";
var b = (Math.random(Math.random() * 10) + 1) + "<br/>";
var c = (Math.floor(Math.random() * 10) + 1) + "<br/>";

document.write(a + b);

자바스크립트(Javascript) 수학, 난수 계산에 쓰이는 Math 객체 3부, Random 함수

 

이런 식으로 특정 사이값을 원한다면 곱하기와 더하기로 만들면 됩니다. 10 ~ 100 사이면 최대값인 100 을 곱하고 최소값 10 은 더하는 것이죠. 아래와 같이 수식이 짜면 됩니다

var c = (Math.floor(Math.random() * 100) + 10) + "<br/>";


반응형
Posted by 녹두장군1
,