정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Single.TryParse 메서드 (String, Single%)

2013-12-13

숫자의 문자열 표현을 해당하는 단정밀도 부동 소수점 숫자로 변환합니다. 반환 코드는 변환이 성공했는지 아니면 실패했는지를 나타냅니다.

Namespace:  System
어셈블리:  mscorlib(mscorlib.dll)

public static bool TryParse(
	string s,
	out float result
)

매개 변수

s
형식: System.String
변환할 숫자를 나타내는 문자열입니다.
result
형식: System.Single %
이 메서드는 변환이 성공한 경우 s에 포함된 숫자 값이나 기호에 해당하는 단정밀도 부동 소수점 숫자를 반환하며 변환이 실패한 경우 0을 반환합니다. s 매개 변수가 null이거나, 유효한 형식의 숫자가 아니거나, MinValue보다 작거나 MaxValue보다 큰 수를 나타내는 경우 변환에 실패합니다. 이 매개 변수는 초기화되지 않은 상태로 전달됩니다.

반환 값

형식: System.Boolean
s가 변환되었으면 true이고, 그렇지 않으면 false입니다.

이 오버로드는 Single.Parse(String) 메서드와 달리 구문 분석된 숫자 값을 반환하는 대신 구문 분석 작업에 성공했는지 여부를 나타내는 부울 값을 반환합니다. 이 오버로드를 사용하면 s가 잘못되어 성공적으로 구문 분석할 수 없는 경우 발생하는 FormatException을 테스트하기 위해 예외 처리를 사용할 필요가 없습니다.

s 매개 변수에는 PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol(대/소문자를 구분하는 문자열 비교) 또는 다음 형식의 문자열이 포함될 수 있습니다.

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

대괄호로 묶인 요소는 선택적입니다. 다음 표에서는 각 요소에 대해 설명합니다.

요소

설명

ws

공백 문자입니다.

sign

음수 부호 또는 양수 부호 기호입니다.

integral-digits

숫자의 정수 부분을 지정하는 0에서 9 사이의 일련의 숫자 문자입니다. fractional-digits가 있다면 Integral-digits가 없을 수 있습니다.

,

문화권별 그룹 구분 기호입니다.

.

문화권별 소수점 기호입니다.

fractional-digits

숫자의 소수 부분을 지정하는 0에서 9 사이의 일련의 숫자 문자입니다.

E

지수(공학용) 표기를 나타내는 대문자 또는 소문자 'e'입니다.

exponential-digits

지수를 지정하는 0에서 9 사이의 일련의 숫자 문자입니다.

s 매개 변수는 NumberStyles.FloatNumberStyles.AllowThousands 플래그를 조합하여 해석됩니다. 즉, 통화 기호는 허용되지 않지만 공백과 1000 단위 구분 기호는 허용됩니다. s에 나타날 수 있는 통화 기호, 1000 단위 구분 기호 및 공백 등의 요소를 명시적으로 정의하려면 TryParse(String, NumberStyles, IFormatProvider, Single) 메서드 오버로드를 사용합니다.

s 매개 변수는 현재 시스템 문화권에 따라 초기화된 NumberFormatInfo 개체의 형식 정보를 사용하여 구문 분석됩니다. 자세한 내용은 NumberFormatInfo.CurrentInfo를 참조하세요. 지정된 다른 문화권의 형식 정보를 사용하여 구문 분석하려면 TryParse(String, NumberStyles, IFormatProvider, Single) 메서드 오버로드를 사용합니다.

일반적으로 Single.ToString 메서드를 호출하여 만든 문자열을 Single.TryParse 메서드에 전달하면 원래의 Single 값이 반환됩니다. 그러나 전체 자릿수 손실로 인해 값이 같지 않을 수도 있습니다.

구문 분석 작업 중 s 매개 변수에서 구분 기호가 발견되고 적용 가능한 통화 또는 숫자의 소수 및 그룹 구분 기호가 같으면, 구문 분석 작업에서 구분 기호는 그룹 구분 기호가 아니라 소수 구분 기호로 간주됩니다. 구분 기호에 대한 자세한 내용은 CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparatorNumberGroupSeparator를 참조하세요.

다음 예제에서는 TryParse(String, Single) 메서드를 사용하여 숫자 값의 문자열 표현을 Single 값으로 변환합니다. 여기에서는 현재 문화권이 en-US라고 가정합니다.


string value;
float number;

// Parse a floating-point value with a thousands separator.
value = "1,643.57";
if (Single.TryParse(value, out number))
   outputBlock.Text += number + "\n";
else
   outputBlock.Text += String.Format("Unable to parse '{0}'.", value) + "\n";

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

// Parse value in exponential notation.
value = "-1.643e6";
if (Single.TryParse(value, out number))
   outputBlock.Text += number + "\n";
else
   outputBlock.Text += String.Format("Unable to parse '{0}'.", value) + "\n";

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


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시: