내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본
이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

Int64.Parse 메서드 (String, NumberStyles)

지정된 스타일로 된 숫자의 문자열 표현을 해당하는 64비트 부호 있는 정수로 변환합니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)
public static long Parse(
	string s,
	NumberStyles style
)

매개 변수

s
형식: System.String
변환할 숫자가 들어 있는 문자열입니다.
style
형식: System.Globalization.NumberStyles
s에 사용할 수 있는 형식을 나타내는 NumberStyles 값의 비트 조합입니다. 지정할 일반적인 값은 Integer입니다.

반환 값

형식: System.Int64
s에 지정된 수에 해당하는 64비트 부호 있는 정수입니다.
예외조건
ArgumentNullException

snull입니다.

ArgumentException

styleNumberStyles 값이 아닌 경우

또는

styleAllowHexSpecifierHexNumber 값의 조합이 아닌 경우

FormatException

s의 형식이 style과 호환되지 않는 경우

OverflowException

sMinValue보다 작거나 MaxValue보다 큰 숫자를 나타내는 경우

또는

style에서 소수 자릿수를 지원하지만 s에 0이 아닌 소수 자릿수가 포함되어 있는 경우

style 매개 변수는 구문 분석 작업이 성공하기 위해 s 매개 변수에 허용되는 공백, 양수 또는 음수 부호, 1000 단위 구분 기호 등의 스타일 요소를 정의합니다. 이것은 NumberStyles 열거형의 비트 플래그 조합이어야 합니다. style의 값에 따라 s 매개 변수에 다음 요소가 포함될 수 있습니다.

[ws][$][sign][digits,]digits[.fractional_digits][e[sign]exponential_digits][ws]

또는 styleAllowHexSpecifier가 포함된 경우:

[ws]hexdigits[ws]

대괄호([ 및 ])에 있는 요소는 선택적입니다. 다음 표에서는 각 요소에 대해 설명합니다.

요소

설명

ws

선택적 공백입니다. styleNumberStyles.AllowLeadingWhite 플래그가 포함된 경우 공백이 s의 시작 부분에 나타날 수 있고, styleNumberStyles.AllowTrailingWhite 플래그가 포함된 경우 공백이 s의 끝에 나타날 수 있습니다.

$

문화권별 통화 기호입니다. 문자열에서 이 기호의 위치는 현재 문화권의 NumberFormatInfo.CurrencyNegativePatternNumberFormatInfo.CurrencyPositivePattern 속성으로 정의됩니다. styleNumberStyles.AllowCurrencySymbol 플래그가 포함된 경우 현재 문화권의 통화 기호가 s에 나타날 수 있습니다.

sign

선택적 부호입니다. styleNumberStyles.AllowLeadingSign 플래그가 포함된 경우 부호가 s의 시작 부분에 나타날 수 있고, styleNumberStyles.AllowTrailingSign 플래그가 포함된 경우 부호가 s의 끝에 나타날 수 있습니다. styleNumberStyles.AllowParentheses 플래그가 포함된 경우 s에 괄호를 사용하여 음수 값을 나타낼 수 있습니다.

digits

fractional_digits

exponential_digits

숫자 시퀀스입니다(0 ~ 9). 분수에서는 숫자 0 만 유효합니다.

,

문화권별 1000 단위 구분 기호입니다. styleNumberStyles.AllowThousands 플래그가 포함된 경우 현재 문화권의 1000 단위 구분 기호가 s에 나타날 수 있습니다.

.

문화권별 소수점 기호입니다. styleNumberStyles.AllowDecimalPoint 플래그가 포함된 경우 현재 문화권의 소수점 기호가 s에 나타날 수 있습니다. 구문 분석 작업이 성공하려면 소수 자릿수에 숫자 0만 나타나야 합니다. fractional_digits에 다른 숫자가 포함되어 있으면 OverflowException이 throw됩니다.

e

값이 지수 표기법으로 표현됨을 나타내는 'e' 또는 'E' 문자입니다. styleNumberStyles.AllowExponent 플래그가 포함된 경우 s 매개 변수는 지수 표기법의 숫자를 나타낼 수 있습니다.

16진수

16진수 시퀀스입니다(0 ~ f 또는 0 ~ F).

숫자만 있는 문자열(NumberStyles.None 스타일에 해당)은 Int64 형식의 범위에 포함된 경우 항상 성공적으로 구문 분석됩니다. 나머지 NumberStyles 멤버는 입력 문자열에 나타날 수도 있고 그렇지 않을 수도 있는 요소를 제어합니다. 다음 표에서는 개별 NumberStyles 멤버가 s에 나타날 수 있는 요소에 영향을 주는 방식을 보여 줍니다.

NumberStyles 값

s에서 숫자 이외에 허용되는 요소

None

digits 요소만 허용됩니다.

AllowDecimalPoint

소수점( . ) 및 fractional-digits 요소입니다.

AllowExponent

s 매개 변수에 지수 표기법이 사용될 수도 있습니다. s가 지수 표기법의 숫자를 나타내는 경우 결과 숫자 값에 0이 아닌 소수 자릿수가 포함될 수 없습니다.

AllowLeadingWhite

s 시작 부분에 ws 요소가 나타날 수 있습니다.

AllowTrailingWhite

s 끝 부분에 ws 요소가 나타날 수 있습니다.

AllowLeadingSign

s 시작 부분에 sign 요소가 나타날 수 있습니다.

AllowTrailingSign

s 끝 부분에 sign 요소가 나타날 수 있습니다.

AllowParentheses

괄호 안에 숫자 값이 들어 있는 형식으로 sign 요소가 나타날 수 있습니다.

AllowThousands

1000 단위 구분 기호( , ) 요소가 나타날 수 있습니다.

AllowCurrencySymbol

$ 요소가 나타날 수 있습니다.

Currency

모든 사용자 s 매개 변수는 16진수 숫자 또는 지수 표기법의 숫자를 나타낼 수 없습니다.

Float

s 시작 부분 또는 끝 부분의 ws 요소, s 시작 부분의 sign 요소 및 소수점( . ) 기호가 나타날 수 있습니다. s 매개 변수에 지수 표기법이 사용될 수도 있습니다.

Number

ws, sign, 1000 단위 구분 기호( , ) 및 소수점 기호( . 요소가 나타날 수 있습니다.

Any

모든 스타일이 나타날 수 있지만 s는 16진수 숫자를 나타낼 수 없습니다.

NumberStyles.AllowHexSpecifier 플래그가 사용된 경우 s는 16진수 값이어야 합니다. s 매개 변수와 함께 사용할 수 있는 다른 플래그는 NumberStyles.AllowLeadingWhiteNumberStyles.AllowTrailingWhite뿐입니다. NumberStyles 열거형에는 두 공백 플래그가 모두 포함된 복합 숫자 스타일인 NumberStyles.HexNumber가 포함되어 있습니다.

s 매개 변수는 현재 시스템 문화권에 따라 초기화된 NumberFormatInfo 개체의 형식 지정 정보를 사용하여 구문 분석됩니다. 해당 형식 지정 정보를 구문 분석 작업에 사용할 문화권을 지정하려면 Int64.Parse(String, NumberStyles, IFormatProvider) 오버로드를 호출합니다.

다음 예제에서는 Int64.Parse(String, NumberStyles) 메서드를 사용하여 몇 가지 Int64 값의 문자열 표현을 구문 분석합니다. 예제의 현재 문화권은 en-US입니다.


using System;
using System.Globalization;

public class ParseInt32
{
   public static void Main()
   {
      Convert("104.0", NumberStyles.AllowDecimalPoint);
      Convert("104.9", NumberStyles.AllowDecimalPoint);
      Convert (" 106034", NumberStyles.None);
      Convert(" $17,198,064.42", NumberStyles.AllowCurrencySymbol |
                                 NumberStyles.Number);
      Convert(" $17,198,064.00", NumberStyles.AllowCurrencySymbol |
                                 NumberStyles.Number);
      Convert("103E06", NumberStyles.AllowExponent);
      Convert("1200E-02", NumberStyles.AllowExponent);
      Convert("1200E-03", NumberStyles.AllowExponent);
      Convert("-1,345,791", NumberStyles.AllowThousands);
      Convert("(1,345,791)", NumberStyles.AllowThousands |
                             NumberStyles.AllowParentheses);
      Convert("FFCA00A0", NumberStyles.HexNumber);                       
      Convert("0xFFCA00A0", NumberStyles.HexNumber);                       
   }

   private static void Convert(string value, NumberStyles style)
   {
      try
      {
         long number = Int64.Parse(value, style);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to convert '{0}'.", value);
      }
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is out of range of the Int64 type.", value);   
      }
   }
}
// The example displays the following output to the console:
//       Converted '104.0' to 104.
//       '104.9' is out of range of the Int64 type.
//       Unable to convert ' 106034'.
//       ' $17,198,064.42' is out of range of the Int64 type.
//       Converted ' $17,198,064.00' to 17198064.
//       Converted '103E06' to 103000000.
//       Converted '1200E-02' to 12.
//       '1200E-03' is out of range of the Int64 type.
//       Unable to convert '-1,345,791'.
//       Converted '(1,345,791)' to -1345791.
//       Converted 'FFCA00A0' to 4291428512.
//       Unable to convert '0xFFCA00A0'.


.NET Framework

4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework 에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 다음을 참조하십시오. .NET Framework 시스템 요구 사항.
이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft. All rights reserved.