다음을 통해 공유


Rnd 함수(Visual Basic)

업데이트: 2008년 7월

Single 형식의 난수를 반환합니다.

Public Shared Function Rnd[(Number)] As Single

매개 변수

  • Number
    선택적 요소. Single 값 또는 임의의 유효한 Single 식입니다.

반환 값

Number의 값

Rnd 함수가 생성하는 값

음수

항상 같은 숫자가 생성되며 Number를 시드로 사용합니다.

양수

시퀀스의 다음 난수가 생성됩니다.

0

가장 최근에 만들어진 숫자가 생성됩니다.

없음

시퀀스의 다음 난수가 생성됩니다.

설명

Rnd 함수는 1보다는 작지만 0보다는 크거나 같은 값을 반환합니다.

Number의 값은 Rnd 함수가 난수를 생성하는 방식을 결정합니다.

지정된 초기 시드의 경우, Rnd 함수를 계속 호출할 때마다 이전에 생성된 숫자가 시퀀스의 다음 숫자에 대한 시드로 사용되므로 동일한 숫자 시퀀스가 생성됩니다.

Rnd 함수를 호출하기 전에 인수가 없는 Randomize 문을 사용하여 시스템 타이머를 기반으로 한 시드로 난수 생성기를 초기화합니다.

지정된 범위 내에서 난수를 발생시키려면 다음 수식을 사용하십시오.

randomValue = CInt(Math.Floor((upperbound - lowerbound + 1) * Rnd())) + lowerbound

여기서 upperbound는 범위 내에서 가장 큰 수이고 lowerbound는 범위 내에서 가장 작은 수입니다.

참고:

난수 시퀀스를 반복하려면 숫자 인수와 함께 Randomize를 사용하기 바로 전에 음의 인수와 함께 Rnd를 호출하십시오. Number에 대해 동일한 값을 가진 Randomize를 사용하면 이전 시퀀스가 반복되지 않습니다.

보안 정보:

Random 문과 Rnd 함수는 시드 값으로 시작하여 유한 범위 내의 숫자를 생성하므로 이들 숫자를 생성하는 데 사용되는 알고리즘을 알고 있는 누군가가 결과를 예측할 가능성이 있습니다. 따라서 암호화에 사용할 난수를 생성하는 데 Random 문과 Rnd 함수를 사용하지 마십시오.

예제

다음 예제에서는 Rnd 함수를 사용하여 1과 6 사이의 난수를 발생시킵니다.

' Initialize the random-number generator.
Randomize()
' Generate random value between 1 and 6.
Dim value As Integer = CInt(Int((6 * Rnd()) + 1))

요구 사항

네임스페이스: Microsoft.VisualBasic

**모듈:**VBMath

어셈블리: Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)

참고 항목

참조

Randomize 함수(Visual Basic)

수학 요약

Randomize 함수(Visual Basic)

변경 기록

날짜

변경 내용

원인

2008년 7월

코드 예제를 수정했습니다.

고객 의견