Single.TryParse 메서드

정의

숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number to its single-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

오버로드

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Single)

지정된 스타일 및 문화권별 형식으로 된 숫자의 범위 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.Converts the span representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

TryParse(String, Single)

숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number to its single-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

TryParse(ReadOnlySpan<Char>, Single)

문자 범위로 된 숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number in a character span to its single-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

TryParse(String, NumberStyles, IFormatProvider, Single)

지정된 스타일 및 문화권별 형식으로 된 숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Single)

지정된 스타일 및 문화권별 형식으로 된 숫자의 범위 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.Converts the span representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out float result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * single -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As Single) As Boolean

매개 변수

s
ReadOnlySpan<Char>

변환할 숫자를 포함하는 읽기 전용 문자 범위입니다.A read-only character span that contains the number to convert. style이 지정한 스타일을 사용하여 해석하는 범위입니다.The span is interpreted using the style specified by style

style
NumberStyles

s에 사용할 수 있는 형식을 나타내는 열거형 값의 비트 조합입니다.A bitwise combination of enumeration values that indicates the permitted format of s. 지정할 일반적인 값은 Float와 결합되는 AllowThousands입니다.A typical value to specify is Float combined with AllowThousands.

provider
IFormatProvider

s에 대한 문화권별 형식 지정 정보를 제공하는 개체입니다.An object that supplies culture-specific formatting information about s.

result
Single

이 메서드는 변환이 성공한 경우 s에 포함된 숫자 값이나 기호에 해당하는 단정밀도 부동 소수점 숫자를 반환하며 변환이 실패한 경우 0을 반환합니다.When this method returns, contains the single-precision floating-point number equivalent to the numeric value or symbol contained in s, if the conversion succeeded, or zero if the conversion failed. s 매개 변수가 null 또는 Empty이거나, style과 규격 형식이 아니거나, MinValue보다 작거나 MaxValue보다 큰 숫자를 나타내거나, styleNumberStyles 열거형 상수의 유효한 조합이 아닌 경우 변환이 실패합니다.The conversion fails if the s parameter is null or Empty, is not in a format compliant with style, represents a number less than MinValue or greater than MaxValue, or if style is not a valid combination of NumberStyles enumerated constants. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다. 원래 result에 제공된 모든 값을 덮어쓰게 됩니다.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

반환

true가 성공적으로 변환되었으면 s이고, 그렇지 않으면 false입니다.true if s was converted successfully; otherwise, false.

TryParse(String, Single)

숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number to its single-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (string s, out float result);
static member TryParse : string * single -> bool
Public Shared Function TryParse (s As String, ByRef result As Single) As Boolean

매개 변수

s
String

변환할 숫자를 나타내는 문자열입니다.A string representing a number to convert.

result
Single

이 메서드는 변환이 성공한 경우 s에 포함된 숫자 값이나 기호에 해당하는 단정밀도 부동 소수점 숫자를 반환하며 변환이 실패한 경우 0을 반환합니다.When this method returns, contains single-precision floating-point number equivalent to the numeric value or symbol contained in s, if the conversion succeeded, or zero if the conversion failed. s 매개 변수가 null 또는 Empty이거나 유효한 형식의 숫자가 아닌 경우, 변환에 실패합니다.The conversion fails if the s parameter is null or Empty or is not a number in a valid format. .NET Framework 및 .NET Core 2.2 이하 버전에서 s이(가) MinValue보다 작거나 MaxValue보다 큰 숫자를 나타낼 경우에도 변환에 실패합니다.It also fails on .NET Framework and .NET Core 2.2 and earlier versions if s represents a number less than MinValue or greater than MaxValue. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다. 원래 result에 제공된 모든 값을 덮어쓰게 됩니다.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

반환

true가 성공적으로 변환되었으면 s이고, 그렇지 않으면 false입니다.true if s was converted successfully; otherwise, false.

예제

다음 예제에서는 TryParse(String, Single) 메서드를 사용 하 여 숫자 값의 문자열 표현을 Single 값으로 변환 합니다.The following example uses the TryParse(String, Single) method to convert the string representations of numeric values to Single values. 해당 EN-US가 현재 문화권이 가정 합니다.It assumes that en-US is the current culture.

string value;
float number;

// Parse a floating-point value with a thousands separator.
value = "1,643.57";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);      

// Parse a floating-point value with a currency symbol and a 
// thousands separator.
value = "$1,643.57";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);   

// Parse value in exponential notation.
value = "-1.643e6";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);   

// Parse a negative integer value.
value = "-168934617882109132";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);   
// The example displays the following output:
//       1643.57
//       Unable to parse '$1,643.57'.
//       -164300
//       -1.68934617882109E+17
Dim value As String
Dim number As Single

' Parse a floating-point value with a thousands separator.
value = "1,643.57"
If Single.TryParse(value, number) Then
   Console.WriteLine(number)
Else
   Console.WriteLine("Unable to parse '{0}'.", value)      
End If   

' Parse a floating-point value with a currency symbol and a 
' thousands separator.
value = "$1,643.57"
If Single.TryParse(value, number) Then
   Console.WriteLine(number)  
Else
   Console.WriteLine("Unable to parse '{0}'.", value)   
End If

' Parse value in exponential notation.
value = "-1.643e6"
If Single.TryParse(value, number)
   Console.WriteLine(number)
Else
   Console.WriteLine("Unable to parse '{0}'.", value)   
End If

' Parse a negative integer number.
value = "-168934617882109132"
If Single.TryParse(value, number)
   Console.WriteLine(number)
Else
   Console.WriteLine("Unable to parse '{0}'.", value)   
End If
' The example displays the following output:
'       1643.57
'       Unable to parse '$1,643.57'.
'       -1643000
'       -1.68934617882109E+17

설명

이 오버 로드는 구문 분석 된 숫자 값을 반환 하는 대신 구문 분석 작업이 성공 했는지 여부를 나타내는 부울 값을 반환 하 여 Single.Parse(String) 메서드와 다릅니다.This overload differs from the Single.Parse(String) method by returning a Boolean value that indicates whether the parse operation succeeded instead of returning the parsed numeric value. s 잘못 되어 구문 분석 될 수 없는 경우 예외 처리를 사용 하 여 FormatException를 테스트할 필요가 없습니다.It eliminates the need to use exception handling to test for a FormatException in the event that s is invalid and cannot be successfully parsed.

s 매개 변수는 PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol (문자열 비교는 대/소문자 구분) 또는 형식의 문자열을 포함할 수 있습니다.The s parameter can contain PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol (the string comparison is case-sensitive), or a string of the form:

[ws][sign][integral-digits,]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws][ws][sign][integral-digits,]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws]

대괄호 안의 요소는 선택 사항입니다.Elements in square brackets are optional. 다음 표에서는 각 요소에 대해 설명합니다.The following table describes each element.

요소Element 설명Description
wsws 일련의 공백 문자입니다.A series of white-space characters.
signsign 음수 기호 또는 양수 부호 기호입니다.A negative sign or positive sign symbol.
정수 자릿수integral-digits 일련의 숫자 0에서 하는 9 사이의 숫자의 정수 부분을 지정 합니다.A series of numeric characters ranging from 0 to 9 that specify the integral part of the number. 정수 계열 숫자 수 없어야 경우 소수 자릿수입니다.Integral-digits can be absent if there are fractional-digits.
,, Culture 별 그룹 구분 기호입니다.A culture-specific group separator symbol.
.. Culture 별 소수점 기호입니다.A culture-specific decimal point symbol.
소수 자릿수fractional-digits 일련의 숫자 0에서 하는 9 사이의 숫자의 소수 부분을 지정 합니다.A series of numeric characters ranging from 0 to 9 that specify the fractional part of the number.
EE 대 / 소문자 구분 문자가 'e'를 지 수 (과학적 표기법) 표기법을 나타냅니다.An uppercase or lowercase character 'e', that indicates exponential (scientific) notation.
지 수-자릿수exponential-digits 일련의 0에서 9 지 수를 지정 하는 위치 까지의 숫자입니다.A series of numeric characters ranging from 0 to 9 that specify an exponent.

s 매개 변수는 NumberStyles.FloatNumberStyles.AllowThousands 플래그의 조합을 사용 하 여 해석 됩니다.The s parameter is interpreted using a combination of the NumberStyles.Float and NumberStyles.AllowThousands flags. 즉, 공백이 고 천 단위 구분 기호는 사용할 수 있지만 통화 기호는 없습니다.This means that white space and thousands separators are allowed but currency symbols are not. s에 나타날 수 있는 요소 (예: 통화 기호, 천 단위 구분 기호 및 공백)를 명시적으로 정의 하려면 TryParse(String, NumberStyles, IFormatProvider, Single) 메서드 오버 로드를 사용 합니다.To explicitly define the elements (such as currency symbols, thousands separators, and white space) that can be present in s, use the TryParse(String, NumberStyles, IFormatProvider, Single) method overload.

s 매개 변수는 현재 시스템 문화권에 대해 초기화 되는 NumberFormatInfo 개체의 서식 지정 정보를 사용 하 여 구문 분석 됩니다.The s parameter is parsed using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. 자세한 내용은 NumberFormatInfo.CurrentInfo을 참조하세요.For more information, see NumberFormatInfo.CurrentInfo. 지정 된 다른 문화권의 서식 지정 정보를 사용 하 여 문자열을 구문 분석 하려면 TryParse(String, NumberStyles, IFormatProvider, Single) 메서드 오버 로드를 사용 합니다.To parse a string using the formatting information of some other specified culture, use the TryParse(String, NumberStyles, IFormatProvider, Single) method overload.

일반적으로 Single.TryParse 메서드를 Single.ToString 메서드를 호출 하 여 만든 문자열에 전달 하는 경우 원래 Single 값이 반환 됩니다.Ordinarily, if you pass the Single.TryParse method a string that is created by calling the Single.ToString method, the original Single value is returned. 그러나 정밀도의 손실, 인해 값 아닐 같은 합니다.However, because of a loss of precision, the values may not be equal.

s Single 데이터 형식의 범위를 벗어난 경우 메서드는 .NET Framework 및 .NET Core 2.2 이전 버전에서 false을 반환 합니다.If s is out of range of the Single data type, the method returns false on .NET Framework and .NET Core 2.2 and earlier versions. .NET Core 3.0 이상 버전에서 sSingle.MinValue 보다 작은 경우에는 Single.NegativeInfinity을 반환 하 고 s 보다 큰 경우에는 Single.PositiveInfinity을 반환 합니다.Single.MaxValueOn .NET Core 3.0 and later versions, it returns Single.NegativeInfinity if s is less than Single.MinValue and Single.PositiveInfinity if s is greater than Single.MaxValue.

구문 분석 작업을 수행 하는 동안 s 매개 변수에 구분 기호가 있고 적용 가능한 통화 또는 소수 자릿수와 그룹 구분 기호가 같으면 구문 분석 작업에서 구분 기호가 그룹 구분 기호가 아닌 소수 구분 기호로 간주 됩니다.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. 구분 기호에 대 한 자세한 내용은 CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparatorNumberGroupSeparator를 참조 하세요.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

추가 정보

TryParse(ReadOnlySpan<Char>, Single)

문자 범위로 된 숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number in a character span to its single-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (ReadOnlySpan<char> s, out float result);
static member TryParse : ReadOnlySpan<char> * single -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As Single) As Boolean

매개 변수

s
ReadOnlySpan<Char>

>>변환할 숫자의 문자열 표현을 포함하는 문자 범위입니다.>A character span that contains the string representation of the number to convert.

result
Single

>이 메서드를 반환할 경우 변환이 성공하면 s 매개 변수의 해당하는 단정밀도 부동 소수점 숫자를 포함하고 변환이 실패하면 0을 반환합니다.>When this method returns, contains the single-precision floating-point number equivalent of the s parameter, if the conversion succeeded, or zero if the conversion failed. s 매개 변수가 null이거나 비어있거나 유요한 형식의 숫자가 아니면 변환에 실패합니다.The conversion fails if the s parameter is null or empty or is not a number in a valid format. 이(가) MinValue보다 작은 유효한 숫자인 경우, result은(는) NegativeInfinity입니다.If is a valid number less than MinValue, result is NegativeInfinity. MaxValue보다 큰 유효한 숫자인 경우, resultPositiveInfinity입니다.If is a valid number greater than MaxValue, result is PositiveInfinity. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다. 원래 result에 제공된 모든 값을 덮어쓰게 됩니다.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

반환

true가 성공적으로 변환되었으면 s이고, 그렇지 않으면 false입니다.true if s was converted successfully; otherwise, false.

TryParse(String, NumberStyles, IFormatProvider, Single)

지정된 스타일 및 문화권별 형식으로 된 숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다.Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. 반환 값은 변환이 성공했는지 아니면 실패했는지를 나타냅니다.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out float result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * single -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As Single) As Boolean

매개 변수

s
String

변환할 숫자를 나타내는 문자열입니다.A string representing a number to convert.

style
NumberStyles

s에 사용할 수 있는 형식을 나타내는 열거형 값의 비트 조합입니다.A bitwise combination of enumeration values that indicates the permitted format of s. 지정할 일반적인 값은 Float와 결합되는 AllowThousands입니다.A typical value to specify is Float combined with AllowThousands.

provider
IFormatProvider

s에 대한 문화권별 형식 지정 정보를 제공하는 개체입니다.An object that supplies culture-specific formatting information about s.

result
Single

이 메서드는 변환이 성공한 경우 s에 포함된 숫자 값이나 기호에 해당하는 단정밀도 부동 소수점 숫자를 반환하며 변환이 실패한 경우 0을 반환합니다.When this method returns, contains the single-precision floating-point number equivalent to the numeric value or symbol contained in s, if the conversion succeeded, or zero if the conversion failed. s 매개 변수가 null 또는 Empty이거나, style 규격 형식이 아니거나, style이(가) NumberStyles 열거형 상수의 유효한 조합이 아닌 경우 변환에 실패합니다.The conversion fails if the s parameter is null or Empty, is not in a format compliant with style, or if style is not a valid combination of NumberStyles enumeration constants. .NET Framework 또는 .NET Core 2.2 이하 버전에서 sMinValue보다 작거나 MaxValue보다 큰 숫자를 나타내는 경우에도 실패합니다.It also fails on .NET Framework or .NET Core 2.2 and earlier versions if s represents a number less than MinValue or greater than MaxValue. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다. 원래 result에 제공된 모든 값을 덮어쓰게 됩니다.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

반환

true가 성공적으로 변환되었으면 s이고, 그렇지 않으면 false입니다.true if s was converted successfully; otherwise, false.

예외

styleNumberStyles 값이 아닙니다.style is not a NumberStyles value.

-또는--or- styleAllowHexSpecifier 값입니다.style is the AllowHexSpecifier value.

예제

다음 예제에서는 Single.TryParse(String, NumberStyles, IFormatProvider, Single) 메서드를 사용 하 여 특정 스타일의 숫자에 대 한 문자열 표현을 구문 분석 하 고 특정 문화권의 규칙을 사용 하 여 서식을 지정 하는 방법을 보여 줍니다.The following example demonstrates the use of the Single.TryParse(String, NumberStyles, IFormatProvider, Single) method to parse the string representation of numbers that have a particular style and are formatted using the conventions of a particular culture.

string value;
System.Globalization.NumberStyles style;
System.Globalization.CultureInfo culture;
float number;

// Parse currency value using en-GB culture.
value = "£1,097.63";
style = System.Globalization.NumberStyles.Number | 
        System.Globalization.NumberStyles.AllowCurrencySymbol;
culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB");
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);

value = "1345,978";
style = System.Globalization.NumberStyles.AllowDecimalPoint;
culture = System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR");
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);

value = "1.345,978";
style = System.Globalization.NumberStyles.AllowDecimalPoint | 
        System.Globalization.NumberStyles.AllowThousands;
culture = System.Globalization.CultureInfo.CreateSpecificCulture("es-ES");
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);

value = "1 345,978";
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);
// The example displays the following output:
//       Converted '£1,097.63' to 1097.63.
//       Converted '1345,978' to 1345.978.
//       Converted '1.345,978' to 1345.978.
//       Unable to convert '1 345,978'.
Dim value As String
Dim style As System.Globalization.NumberStyles
Dim culture As System.Globalization.CultureInfo
Dim number As Single

' Parse currency value using en-GB culture.
value = "£1,097.63"
style = System.Globalization.NumberStyles.Number Or _
        System.Globalization.NumberStyles.AllowCurrencySymbol
culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB")
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If    

value = "1345,978"
style = System.Globalization.NumberStyles.AllowDecimalPoint
culture = System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR")
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If    

value = "1.345,978"
style = System.Globalization.NumberStyles.AllowDecimalPoint Or _
        System.Globalization.NumberStyles.AllowThousands
culture = System.Globalization.CultureInfo.CreateSpecificCulture("es-ES")
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If    

value = "1 345,978"
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If    
' The example displays the following output:
'       Converted '£1,097.63' to 1097.63.
'       Converted '1345,978' to 1345.978.
'       Converted '1.345,978' to 1345.978.
'       Unable to convert '1 345,978'.

설명

이 오버 로드는 구문 분석 된 숫자 값을 반환 하는 대신 구문 분석 작업이 성공 했는지 여부를 나타내는 부울 값을 반환 하 여 Parse(String, NumberStyles, IFormatProvider) 메서드와 다릅니다.This overload differs from the Parse(String, NumberStyles, IFormatProvider) method by returning a Boolean value that indicates whether the parse operation succeeded instead of returning the parsed numeric value. s 잘못 되어 구문 분석 될 수 없는 경우 예외 처리를 사용 하 여 FormatException를 테스트할 필요가 없습니다.It eliminates the need to use exception handling to test for a FormatException in the event that s is invalid and cannot be successfully parsed.

style 매개 변수는 구문 분석 작업이 성공 하기 위해 s 매개 변수의 허용 가능한 형식을 정의 합니다.The style parameter defines the allowable format of the s parameter for the parse operation to succeed. NumberStyles 열거형의 비트 플래그 조합 이어야 합니다.It must be a combination of bit flags from the NumberStyles enumeration. 다음 NumberStyles 멤버는 지원 되지 않습니다.The following NumberStyles members are not supported:

s 매개 변수는 provider에 표시 된 문화권에 대 한 PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol를 포함할 수 있습니다.The s parameter can contain PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol for the culture indicated by provider. 또한 style값에 따라 s 매개 변수에는 다음 요소가 포함 될 수 있습니다.In addition, depending on the value of style, the s parameter may include the following elements:

[ws] [$] [sign][integral-digits,]integral-digits[.fractional-digits][e[sign]exponential-digits][ws][ws] [$] [sign][integral-digits,]integral-digits[.fractional-digits][e[sign]exponential-digits][ws]

대괄호 ([ 및 ]) 안의 요소는 선택적 요소입니다.Elements in square brackets ([ and ]) are optional. 다음 표에서는 각 요소에 대해 설명합니다.The following table describes each element.

요소Element 설명Description
wsws 선택적 공백입니다.Optional white space. style NumberStyles.AllowLeadingWhite 플래그가 포함 된 경우 s 시작 부분에 공백이 표시 될 수 있습니다.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag. style NumberStyles.AllowTrailingWhite 플래그가 포함 된 경우 s 끝에 나타날 수 있습니다.It can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Culture 별 통화 기호입니다.A culture-specific currency symbol. 문자열에서의 해당 위치는 provider 매개 변수의 IFormatProvider.GetFormat 메서드에서 반환 되는 NumberFormatInfo 개체의 NumberFormatInfo.CurrencyNegativePattern 또는 NumberFormatInfo.CurrencyPositivePattern 속성으로 정의 됩니다.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern or NumberFormatInfo.CurrencyPositivePattern properties of the NumberFormatInfo object returned by the IFormatProvider.GetFormat method of the provider parameter. style NumberStyles.AllowCurrencySymbol 플래그가 포함 된 경우 통화 기호가 s 나타날 수 있습니다.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign 가 선택적 부호입니다.An optional sign. 기호는 style NumberStyles.AllowLeadingSign 플래그가 포함 된 경우 s 시작 부분에 나타날 수 있으며 style 플래그가 포함 된 NumberStyles.AllowTrailingSign의 경우 s 끝에 표시 될 수 있습니다.The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingSign flag. s에서 괄호를 사용 하 여 style NumberStyles.AllowParentheses 플래그가 포함 된 경우 음수 값을 나타낼 수 있습니다.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
정수 자릿수integral-digits 일련의 0에서 숫자의 정수 부분을 지정 하는 9 까지의 숫자입니다.A series of digits ranging from 0 to 9 that specify the integral part of the number. 정수 계열 숫자 수 없어야 경우 소수 자릿수입니다.Integral-digits can be absent if there are fractional-digits.
,, 문화권별 천 단위 구분 기호입니다.A culture-specific thousands separator symbol. style NumberStyles.AllowThousands 플래그가 포함 된 경우 현재 문화권의 천 단위 구분 기호는 s에 나타날 수 있습니다.The current culture's thousands separator symbol can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Culture 별 소수점 기호입니다.A culture-specific decimal point symbol. style NumberStyles.AllowDecimalPoint 플래그가 포함 된 경우 현재 문화권의 소수점 기호가 s 나타날 수 있습니다.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
소수 자릿수fractional-digits 일련의 0에서 숫자의 소수 부분을 지정 하는 9 까지의 숫자입니다.A series of digits ranging from 0 to 9 that specify the fractional part of the number. styleNumberStyles.AllowDecimalPoint 플래그가 포함 되어 있으면 소수 자릿수가 s에 표시 될 수 있습니다.Fractional digits can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
ee s 지 수 표기법을 사용 하 여 숫자를 나타낼 수 있음을 나타내는 e 또는 E 문자입니다.The e or E character, which indicates that s can represent a number using exponential notation. Style에 NumberStyles.AllowExponent 플래그가 포함 된 경우 s 매개 변수는 지 수 표기법으로 숫자를 나타낼 수 있습니다.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
지 수-자릿수exponential-digits 일련의 0에서 지 수를 지정 하는 9 까지의 숫자입니다.A series of digits ranging from 0 to 9 that specify an exponent.

참고

s의 모든 종료 NUL (U + 0000) 문자는 style 인수의 값에 관계 없이 구문 분석 작업에서 무시 됩니다.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

숫자만 포함 하는 문자열 (NumberStyles.None 스타일에 해당)은 Single 형식의 범위에 있는 경우에는 항상 성공적으로 구문 분석 합니다.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully if it is in the range of the Single type. 나머지 System.Globalization.NumberStyles 멤버는 입력 문자열에 있을 수 있지만 반드시 필요한 것은 아니지만 요소를 제어 합니다.The remaining System.Globalization.NumberStyles members control elements that may be but are not required to be present in the input string. 다음 표에서는 개별 NumberStyles 플래그가 s에 나타날 수 있는 요소에 미치는 영향을 보여 줍니다.The following table indicates how individual NumberStyles flags affect the elements that may be present in s.

NumberStyles 값NumberStyles value 숫자 외에도 s에 허용 되는 요소Elements permitted in s in addition to digits
None 정수 부분 숫자 요소만 있습니다.The integral-digits element only.
AllowDecimalPoint .The . 소수 자릿수 요소and fractional-digits elements.
AllowExponent s 매개 변수는 지 수 표기법을 사용할 수도 있습니다.The s parameter can also use exponential notation. 이 플래그는 자체적으로 정수-숫자E지 수 자릿수형식의 값을 지원 합니다. 양수 또는 음수 부호와 소수점 기호와 같은 요소를 사용 하 여 지 수 표기법으로 문자열을 성공적으로 구문 분석 하려면 추가 플래그가 필요 합니다.This flag by itself supports values in the form integral-digitsEexponential-digits; additional flags are needed to successfully parse strings in exponential notation with such elements as positive or negative signs and decimal point symbols.
AllowLeadingWhite s시작 부분에 있는 ws 요소입니다.The ws element at the beginning of s.
AllowTrailingWhite s끝에 있는 ws 요소입니다.The ws element at the end of s.
AllowLeadingSign s시작 부분에 있는 부호 요소입니다.The sign element at the beginning of s.
AllowTrailingSign s끝에 있는 부호 요소입니다.The sign element at the end of s.
AllowParentheses 괄호 형식의 부호 요소로, 숫자 값을 포함 합니다.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands , 요소입니다.The , element.
AllowCurrencySymbol $ 요소입니다.The $ element.
Currency All.All. s 매개 변수는 지 수 표기법으로 16 진수 또는 숫자를 나타낼 수 없습니다.The s parameter cannot represent a hexadecimal number or a number in exponential notation.
Float s의 시작 또는 끝 부분에 있는 ws 요소 s시작 부분에 서명 합니다 .The ws element at the beginning or end of s, sign at the beginning of s, and the . 기호입니다.symbol. s 매개 변수는 지 수 표기법을 사용할 수도 있습니다.The s parameter can also use exponential notation.
Number ws, sign, 천 단위 구분 기호 (,) 및 소수점 (.) 요소입니다.The ws, sign, thousands separator (,), and decimal point (.) elements.
Any s 제외한 모든 스타일은 16 진수를 나타낼 수 없습니다.All styles, except s cannot represent a hexadecimal number.

provider 매개 변수는 GetFormat 메서드가 문화권별 서식 지정 정보를 제공 하는 NumberFormatInfo 개체를 반환 하는 IFormatProvider 구현입니다.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific formatting information. TryParse(String, NumberStyles, IFormatProvider, Single) 메서드가 호출 되 면 provider 매개 변수의 GetFormat 메서드를 호출 하 고 NumberFormatInfo 형식을 나타내는 Type 개체를 전달 합니다.When the TryParse(String, NumberStyles, IFormatProvider, Single) method is invoked, it calls the provider parameter's GetFormat method and passes it a Type object that represents the NumberFormatInfo type. 그런 다음 GetFormat 메서드는 s 매개 변수의 형식에 대 한 정보를 제공 하는 NumberFormatInfo 개체를 반환 합니다.The GetFormat method then returns the NumberFormatInfo object that provides information about the format of the s parameter. provider 매개 변수를 사용 하 여 구문 분석 작업에 사용자 지정 서식 지정 정보를 제공 하는 방법에는 세 가지가 있습니다.There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • 서식 지정 정보를 제공 하는 문화권을 나타내는 CultureInfo 개체를 전달할 수 있습니다.You can pass a CultureInfo object that represents the culture that supplies formatting information. 해당 GetFormat 메서드는 해당 문화권에 대 한 숫자 형식 지정 정보를 제공 하는 NumberFormatInfo 개체를 반환 합니다.Its GetFormat method returns the NumberFormatInfo object that provides numeric formatting information for that culture.

  • 숫자 형식 지정 정보를 제공 하는 실제 NumberFormatInfo 개체를 전달할 수 있습니다.You can pass the actual NumberFormatInfo object that provides numeric formatting information. (GetFormat의 구현은 자신을 반환 하기만 합니다.)(Its implementation of GetFormat just returns itself.)

  • IFormatProvider를 구현 하는 사용자 지정 개체를 전달할 수 있습니다.You can pass a custom object that implements IFormatProvider. GetFormat 메서드는 형식 지정 정보를 제공 하는 NumberFormatInfo 개체를 인스턴스화하고 반환 합니다.Its GetFormat method instantiates and returns the NumberFormatInfo object that provides formatting information.

provider null경우 s의 서식은 현재 문화권의 NumberFormatInfo 개체를 기준으로 해석 됩니다.If provider is null, the formatting of s is interpreted based on the NumberFormatInfo object of the current culture.

s Single 데이터 형식의 범위를 벗어난 경우 메서드는 .NET Framework 및 .NET Core 2.2 이전 버전에서 OverflowException을 throw 합니다.If s is out of range of the Single data type, the method throws an OverflowException on .NET Framework and .NET Core 2.2 and earlier versions. .NET Core 3.0 이상 버전에서 sSingle.MinValue 보다 작은 경우에는 Single.NegativeInfinity을 반환 하 고 s 보다 큰 경우에는 Single.PositiveInfinity을 반환 합니다.Single.MaxValueOn .NET Core 3.0 and later versions, it returns Single.NegativeInfinity if s is less than Single.MinValue and Single.PositiveInfinity if s is greater than Single.MaxValue.

구문 분석 작업을 수행 하는 동안 s 매개 변수에 구분 기호가 있고 적용 가능한 통화 또는 소수 자릿수와 그룹 구분 기호가 같으면 구문 분석 작업에서 구분 기호가 그룹 구분 기호가 아닌 소수 구분 기호로 간주 됩니다.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. 구분 기호에 대 한 자세한 내용은 CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparatorNumberGroupSeparator를 참조 하세요.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

추가 정보

적용 대상