Val 함수

업데이트: 2008년 7월

문자열에 포함되어 있는 숫자를 적절한 형식의 숫자 값으로 반환합니다.

Public Overloads Function Val(ByVal InputStr As String) As Double
' -or-
Public Overloads Function Val(ByVal Expression As Object) As Double
' -or-
Public Overloads Function Val(ByVal Expression As Char) As Integer

매개 변수

  • Expression, InputStr
    필수적 요소. 임의의 유효한 String 식, Object 변수 또는 Char 값입니다. Expression의 형식이 Object인 경우 값을 String으로 변환할 수 있어야 합니다. 그렇지 않으면 ArgumentException 오류가 발생합니다.

예외

예외 형식

오류 번호

조건

OverflowException

6

InputStr가 너무 큽니다.

ArgumentException

438

Object 형식의 식을 String으로 변환할 수 없습니다.

비구조적 오류 처리를 사용하는 Visual Basic 6.0 응용 프로그램을 업그레이드하는 경우에는 "오류 번호" 열을 참조하십시오. 오류 번호를 Number 속성(Err 개체)과 비교할 수 있습니다. 그러나 가능하면 이러한 오류 제어 방법을 Visual Basic의 구조적 예외 처리 개요에 설명된 방식으로 바꾸는 것이 좋습니다.

참고:

일반적이지 않은 특정 숫자 형식이 있는 경우 InvalidCastException 예외(오류 번호 13)가 발생할 수 있습니다. 이 오류에 대한 자세한 내용은 형식이 일치하지 않습니다(Visual Basic).를 참조하십시오. 예를 들어 다음 코드에서는 예외가 발생합니다.

' These examples cause run-time errors.

'Console.WriteLine(Val("1.34%"))

'Console.WriteLine(Val("1.34&"))

Double로 형식이 지정된 숫자와 Integer 및 Long 형식 문자 사이의 충돌은 문자열로 숨겨져 있지 않은 경우 컴파일러에서 찾아낼 수 있습니다.

' These examples cause compiler errors.

'Dim m = 1.34%

'Dim n = 1.34&

설명

Val 함수는 숫자 부분으로 인식할 수 없는 첫 번째 문자에서 문자열 읽기를 중단합니다. 이 함수는 주로 숫자 값의 일부로 간주되는 기호와 문자(예: 달러 기호 및 쉼표)는 인식하지 않지만, 기수 접두사 &O(8진수)와 &H(16진수)는 인식합니다. 공백, 탭 및 줄 바꿈 문자는 인수에서 무시됩니다.

다음 호출에서는 값 1615198이 반환됩니다.

Val(" 1615 198th Street N.E.") 

다음 호출에서는 10진수 값 -1이 반환됩니다.

Val("&HFFFF") 
참고:

Val 함수는 마침표(.)만을 유효한 소수 구분 기호로 인식합니다. 국가별 응용 프로그램을 개발할 때처럼 여러 종류의 소수 구분 기호를 사용할 경우에는 CDbl또는 CInt 함수를 사용하여 문자열을 숫자로 변환합니다. 특정 culture의 숫자에 대한 문자열 표시를 숫자 값으로 변환하려면 숫자 형식의 Parse(String, IFormatProvider) 메서드를 사용합니다. 예를 들어, 문자열을 Double로 변환할 경우 Double.Parse를 사용합니다.

예제

다음 예제에서는 Val 함수를 사용하여 각 문자열에 포함된 숫자를 반환합니다. Val 함수는 숫자, 숫자 한정자, 숫자 문장 부호 또는 공백으로 해석될 수 없는 첫 번째 문자를 만나면 변환을 중지합니다.

Dim valResult As Double
' The following line of code sets valResult to 2457.
valResult = Val("2457")
' The following line of code sets valResult to 2457.
valResult = Val(" 2 45 7")
' The following line of code sets valResult to 24.
valResult = Val("24 and 57")

요구 사항

네임스페이스:Microsoft.VisualBasic

**모듈:**Conversion

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

참고 항목

참조

Str 함수

형식 변환 함수

OverflowException

InvalidCastException

ArgumentException

변경 기록

날짜

변경 내용

이유

2008년 7월

"예외" 단원에 InvalidCastException 예외가 발생하는 경우에 대한 참고 사항이 추가되었습니다.

고객 의견