Client/Javascript

[Javascript / μžλ°”μŠ€ν¬λ¦½νŠΈ] Math.random() - random number (λ‚œμˆ˜) μƒμ„±ν•˜κΈ°

meeeeejin 2020. 6. 12. 19:14

Math.random( )

Math.random( ) ν•¨μˆ˜λŠ” [0, 1) κ΅¬κ°„μ—μ„œ λΆ€λ™μ†Œμˆ˜μ  μ˜μ‚¬ λ‚œμˆ˜λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€. 

μ˜μ‚¬ λ‚œμˆ˜λž€ μ²˜μŒμ— μ£Όμ–΄μ§€λŠ” μ΄ˆκΉƒκ°’(seed)에 따라 이미 κ²°μ •λ˜μ–΄ μžˆλŠ” λ©”μ»€λ‹ˆμ¦˜μ— μ˜ν•΄ λ§Œλ“€μ–΄μ§€λŠ” 수λ₯Ό λ§ν•©λ‹ˆλ‹€. 

 

μ˜ˆμ œμ™€ ν•¨κ»˜ λ‚œμˆ˜λ₯Ό μƒμ„±ν•˜λŠ” 방법을 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. 

 

 

 

예제 1) 0 이상 1 미만인 λ‚œμˆ˜ μƒμ„±ν•˜κΈ°

 

var n = Math.random( );

// 0 ≤ n < 1

 

 

 

예제 2) 1 이상 10 미만인 λ‚œμˆ˜ μƒμ„±ν•˜κΈ°

 

var n = Math.random( );

// 0 ≤ n < 1

 

n = n * (10 - 1);

// 0 ≤ n < 9

 

n = n + 1;

// 1 ≤ n < 10

 

 

μœ„ 3μ€„μ˜ μ½”λ“œλŠ” λ‹€μŒκ³Ό 같이 ν•œ λ²ˆμ— μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

var n = Math.random( ) * (10 - 1) + 1;

 

 

이λ₯Ό 기반으둜 두 κ°’(min ≤ n < max) μ‚¬μ΄μ˜ λ‚œμˆ˜ 생성식은 λ‹€μŒκ³Ό 같이 μ“Έ 수 μžˆμŠ΅λ‹ˆλ‹€. 

 

var n = Math.random( ) * (max - min) + min;

 

 

 

 

예제 3) 두 κ°’(min ≤ n < max) μ‚¬μ΄μ˜ μ •μˆ˜ λ‚œμˆ˜ μƒμ„±ν•˜κΈ°

 

예제 2μ—μ„œ κ΅¬ν•œ n을 μ •μˆ˜λ‘œ λ°”κΏ”μ£Όλ©΄ λ©λ‹ˆλ‹€. 

 

var n = Math.floor(Math.random( ) * (max - min) + min);

 

 

Math.floor(n); 은 nμ΄ν•˜μ˜ κ°€μž₯ 큰 μ •μˆ˜λ₯Ό λ°˜ν™˜ν•΄μ€λ‹ˆλ‹€.

λ”°λΌμ„œ (min ≤ n < max)μ΄λ©΄μ„œ μ •μˆ˜μΈ λ‚œμˆ˜λ₯Ό ꡬ할 수 μžˆμŠ΅λ‹ˆλ‹€. 

 

 

 

 

 

κ³΅λΆ€ν•œ 것을 μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. μˆ˜μ •ν•  뢀뢄이 있으면 μ•Œλ €μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€ :)

 

 

 

 

728x90