SByte.Parse SByte.Parse SByte.Parse SByte.Parse Method

定義

数値の文字列形式を、それと等価な 8 ビット符号付き整数に変換します。Converts the string representation of a number to its 8-bit signed integer equivalent.

オーバーロード

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

指定したスタイルおよびカルチャに固有の書式による数値の文字列形式を、それと等価な 8 ビット符号付きの値に変換します。Converts the string representation of a number that is in a specified style and culture-specific format to its 8-bit signed equivalent.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

指定したスタイルの数値の文字列形式を、それと等価の 8 ビット符号付き整数に変換します。Converts the string representation of a number in a specified style to its 8-bit signed integer equivalent.

Parse(String) Parse(String) Parse(String) Parse(String)

数値の文字列形式を、それと等価な 8 ビット符号付き整数に変換します。Converts the string representation of a number to its 8-bit signed integer equivalent.

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

指定したカルチャに固有の書式による数値の文字列形式を、それと等価な 8 ビット符号付き整数に変換します。Converts the string representation of a number in a specified culture-specific format to its 8-bit signed integer equivalent.

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

重要

この API は CLS 準拠ではありません。

CLS 準拠の代替
System.Int16.Parse(String, NumberStyles, IFormatProvider)

指定したスタイルおよびカルチャに固有の書式による数値の文字列形式を、それと等価な 8 ビット符号付きの値に変換します。Converts the string representation of a number that is in a specified style and culture-specific format to its 8-bit signed equivalent.

public:
 static System::SByte Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static sbyte Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> sbyte
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As SByte

パラメーター

s
String String String String

変換する数値を含んだ文字列。A string that contains the number to convert. 文字列は、style で指定されたスタイルを使用して解釈されます。The string is interpreted by using the style specified by style.

style
NumberStyles NumberStyles NumberStyles NumberStyles

s で使用可能なスタイル要素を示す、列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that indicates the style elements that can be present in s. 通常指定する値は、Integer です。A typical value to specify is Integer.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

s に関するカルチャ固有の書式情報を提供するオブジェクト。An object that supplies culture-specific formatting information about s. providernull の場合は、スレッドの現在のカルチャが使用されます。If provider is null, the thread current culture is used.

戻り値

s パラメーターに指定された数値と等価な 8 ビット符号付きバイト値。An 8-bit signed byte value that is equivalent to the number specified in the s parameter.

例外

styleNumberStyles 値ではありません。style is not a NumberStyles value.

または-or- styleAllowHexSpecifierHexNumber の組み合わせではありません。style is not a combination of AllowHexSpecifier and HexNumber.

s が、style に準拠した形式ではありません。s is not in a format that is compliant with style.

sMinValue 未満の数値か、MaxValue より大きい数値を表します。s represents a number that is less than MinValue or greater than MaxValue.

または-or- s に 0 以外の小数部の桁が含まれています。s includes non-zero, fractional digits.

次の例では、使用、Parse(String, NumberStyles, IFormatProvider)符号付き整数値の番号のさまざまな文字列形式に変換します。The following example illustrates the use of the Parse(String, NumberStyles, IFormatProvider) method to convert various string representations of numbers to signed integer values.

using System;
using System.Globalization;

public class SByteConversion
{
   NumberFormatInfo provider = NumberFormatInfo.CurrentInfo;

   public static void Main()
   {
      string stringValue;
      NumberStyles style;

      stringValue = "   123   ";
      style = NumberStyles.None;     
      CallParseOperation(stringValue, style);
      
      stringValue = "000,000,123";
      style = NumberStyles.Integer | NumberStyles.AllowThousands;
      CallParseOperation(stringValue, style);
      
      stringValue = "-100";
      style = NumberStyles.AllowLeadingSign;
      CallParseOperation(stringValue, style);
      
      stringValue = "100-";
      style = NumberStyles.AllowLeadingSign;
      CallParseOperation(stringValue, style);
      
      stringValue = "100-";
      style = NumberStyles.AllowTrailingSign;
      CallParseOperation(stringValue, style);
      
      stringValue = "$100";
      style = NumberStyles.AllowCurrencySymbol;
      CallParseOperation(stringValue, style);
      
      style = NumberStyles.Integer;
      CallParseOperation(stringValue, style);
      
      style = NumberStyles.AllowDecimalPoint;
      CallParseOperation("100.0", style);
      
      stringValue = "1e02";
      style = NumberStyles.AllowExponent;
      CallParseOperation(stringValue, style);
      
      stringValue = "(100)";
      style = NumberStyles.AllowParentheses;
      CallParseOperation(stringValue, style);
   }
   
   private static void CallParseOperation(string stringValue, 
                                          NumberStyles style)
   {                                          
      sbyte number;
      
      if (stringValue == null)
         Console.WriteLine("Cannot parse a null string...");
         
      try
      {
         number = sbyte.Parse(stringValue, style);
         Console.WriteLine("SByte.Parse('{0}', {1})) = {2}", 
                           stringValue, style, number);   
      }
      catch (FormatException)
      {
         Console.WriteLine("'{0}' and {1} throw a FormatException", 
                           stringValue, style);   
      }      
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is outside the range of a signed byte",
                           stringValue);
      }
   }
}
// The example displays the following information to the console:
//       '   123   ' and None throw a FormatException
//       SByte.Parse('000,000,123', Integer, AllowThousands)) = 123
//       SByte.Parse('-100', AllowLeadingSign)) = -100
//       '100-' and AllowLeadingSign throw a FormatException
//       SByte.Parse('100-', AllowTrailingSign)) = -100
//       SByte.Parse('$100', AllowCurrencySymbol)) = 100
//       '$100' and Integer throw a FormatException
//       SByte.Parse('100.0', AllowDecimalPoint)) = 100
//       SByte.Parse('1e02', AllowExponent)) = 100
//       SByte.Parse('(100)', AllowParentheses)) = -100
Imports System.Globalization

Module modMain
   Public Sub Main()
      Dim byteString As String 
      
      byteString = " 123"
      ParseString(byteString, NumberStyles.None)
      ParseString(byteString, NumberStyles.Integer)
      
      byteString = "3A"
      ParseString(byteString, NumberStyles.AllowHexSpecifier) 
      
      byteString = "21"
      ParseString(byteString, NumberStyles.Integer)
      ParseString(byteString, NumberStyles.AllowHexSpecifier)
      
      byteString = "-22"
      ParseString(byteString, NumberStyles.Integer)
      ParseString(byteString, NumberStyles.AllowParentheses)
      
      byteString = "(45)"
      ParseString(byteString, NumberStyles.AllowParentheses)
     
      byteString = "000,000,056"
      ParseString(byteString, NumberStyles.Integer)
      ParseString(byteString, NumberStyles.Integer Or NumberStyles.AllowThousands)
   End Sub
   
   Private Sub ParseString(value As String, style As NumberStyles)
      Dim number As SByte
      
      If value Is Nothing Then Console.WriteLine("Cannot parse a null string...") 
      
      Try
         number = SByte.Parse(value, style, NumberFormatInfo.CurrentInfo)
         Console.WriteLine("SByte.Parse('{0}', {1}) = {2}", value, style, number)   
      Catch e As FormatException
         Console.WriteLine("'{0}' and {1} throw a FormatException", value, style)   
      Catch e As OverflowException
         Console.WriteLine("'{0}' is outside the range of a signed byte",
                           value)
      End Try     
   End Sub
End Module
' The example displays the following information to the console:
'       ' 123' and None throw a FormatException
'       SByte.Parse(" 123", Integer)) = 123
'       SByte.Parse("3A", AllowHexSpecifier)) = 58
'       SByte.Parse("21", Integer)) = 21
'       SByte.Parse("21", AllowHexSpecifier)) = 33
'       SByte.Parse("-22", Integer)) = -22
'       '-22' and AllowParentheses throw a FormatException
'       SByte.Parse("(45)", AllowParentheses)) = -45
'       '000,000,056' and Integer throw a FormatException
'       SByte.Parse("000,000,056", Integer, AllowThousands)) = 56

注釈

style (空白、正または負の記号など) で使用できるスタイル要素を定義するパラメーター、s解析操作が成功するためのパラメーター。The style parameter defines the style elements (such as white space or the positive or negative sign symbol) that are allowed in the s parameter for the parse operation to succeed. ビット フラグの組み合わせがあります、NumberStyles列挙体。It must be a combination of bit flags from the NumberStyles enumeration.

値に応じてstylesパラメーターは、次の要素を含めることができます。Depending on the value of style, the s parameter may include the following elements:

[ws][$][sign]digits[.fractional_digits][E[sign]exponential_digits][ws][ws][$][sign]digits[.fractional_digits][E[sign]exponential_digits][ws]

場合styleが含まれていますAllowHexSpecifiersパラメーターは、次の要素を含めることができます。If style includes AllowHexSpecifier, the s parameter may include the following elements:

[ws]hexdigits[ws][ws]hexdigits[ws]

角かっこ ([ および ]) 内の要素は省略可能です。Elements in square brackets ([ and ]) are optional. 次の表は、それぞれの要素の説明です。The following table describes each element.

要素Element 説明Description
wsws 空白文字の省略可能です。Optional white space. 先頭に空白文字を表示できるs場合styleが含まれています、NumberStyles.AllowLeadingWhiteの最後に、フラグ、およびそれが表示されるs場合styleが含まれています、NumberStyles.AllowTrailingWhiteフラグ。White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ カルチャ固有の通貨記号。A culture-specific currency symbol. によって、文字列内の位置が定義されている、NumberFormatInfo.CurrencyPositivePattern現在のカルチャのプロパティ。Its position in the string is defined by the NumberFormatInfo.CurrencyPositivePattern property of the current culture. 現在のカルチャの通貨記号に表示されるs場合styleが含まれています、NumberStyles.AllowCurrencySymbolフラグ。The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign オプションの符号。An optional sign. 先頭の符号が表示できるs場合styleが含まれています、NumberStyles.AllowLeadingSignフラグの末尾を表示できるs場合styleが含まれています、NumberStyles.AllowTrailingSignフラグ。The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear 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.
数字digits 0 ~ 9 桁の数字のシーケンス。A sequence of digits from 0 through 9.
.. カルチャに固有の小数点記号。A culture-specific decimal point symbol. 現在のカルチャの小数点記号に表示されるs場合styleが含まれています、NumberStyles.AllowDecimalPointフラグ。The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional_digitsfractional_digits 数字 0 ~ 9 の 1 つ以上の出現回数場合styleが含まれています、NumberStyles.AllowExponentフラグ、またはそうでない場合は 0 桁の数字の 1 つ以上の出現回数。One or more occurrences of the digit 0-9 if style includes the NumberStyles.AllowExponent flag, or one or more occurrences of the digit 0 if it does not. 小数部の桁数を表示できるs場合にのみstyleが含まれています、NumberStyles.AllowDecimalPointフラグ。Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
EE "E"または"E"文字は、値は指数表記で表されていることを示します。The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. sパラメーターは指数表記の数値を表すことができる場合styleが含まれています、NumberStyles.AllowExponentフラグ。The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
exponential_digitsexponential_digits 0 ~ 9 桁の数字のシーケンス。A sequence of digits from 0 through 9. sパラメーターは指数表記の数値を表すことができる場合styleが含まれています、NumberStyles.AllowExponentフラグ。The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits 0 ~ f、または f の 0 から 16 進数のシーケンスA sequence of hexadecimal digits from 0 through f, or 0 through F.

注意

終端の NUL (u+0000) 文字sの値に関係なく、解析操作では無視されますが、style引数。Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

10 進数字のみを含む文字列 (に対応する、NumberStyles.Noneスタイル) 常に正常に解析します。A string with decimal digits only (which corresponds to the NumberStyles.None style) always parses successfully. 残りのほとんどNumberStylesメンバーが存在する場合がありますが、この入力文字列内に存在する必要はありません、要素を制御します。Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in this input string. 次の表に示す個別NumberStylesメンバー内に存在する要素に影響を与えるsします。The following table indicates how individual NumberStyles members affect the elements that may be present in s.

非コンポジットNumberStylesNon-composite NumberStyles values 使用できる要素s数字だけでなくElements permitted in s in addition to digits
NumberStyles.None 10 進数字のみです。Decimal digits only.
NumberStyles.AllowDecimalPoint 10 進数のポイント (.) とfractional_digits要素。The decimal point (.) and fractional_digits elements. ただし、スタイルが含まれていない場合、NumberStyles.AllowExponentフラグ、 fractional_digitsのみ 1 つまたは複数の 0 の数字で構成する必要があります。 それ以外、OverflowExceptionがスローされます。However, if style does not include the NumberStyles.AllowExponent flag, fractional_digits must consist of only one or more 0 digits; otherwise, an OverflowException is thrown.
NumberStyles.AllowExponent "E"または"E"文字と共に、指数表記を示すexponential_digitsします。The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
NumberStyles.AllowLeadingWhite Wsの先頭にある要素sします。The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite Wsの末尾にある要素sします。The ws element at the end of s.
NumberStyles.AllowLeadingSign 前に正符号します。A positive sign before digits.
NumberStyles.AllowTrailingSign 後の正符号します。A positive sign after digits.
NumberStyles.AllowParentheses かっこの前に、と後を負の値を示します。Parentheses before and after digits to indicate a negative value.
NumberStyles.AllowThousands グループ区切り記号 () 要素。The group separator (,) element. グループ区切り記号を表示できますがs、のみ 1 つ以上の数字 0 を付ける必要があります。Although the group separator can appear in s, it must be preceded by only one or more 0 digits.
NumberStyles.AllowCurrencySymbol 通貨 ($) 要素。The currency ($) element.

場合、NumberStyles.AllowHexSpecifierフラグを使用すると、 s 16 進数の値を指定する必要があります。If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value. 有効な 16 進数の数字は 0 ~ 9、a ~ f、A から FValid hexadecimal digits are 0-9, a-f, and A-F. のみの他のフラグと組み合わせることができますが、NumberStyles.AllowLeadingWhiteNumberStyles.AllowTrailingWhiteします。The only other flags that can be combined with it are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (、NumberStyles列挙には、複合数値スタイルが含まれていますNumberStyles.HexNumber、空白文字の両方のフラグが含まれます。)。(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

注意

場合、sパラメーターは、16 進数の文字列表現、接頭辞が付けることはできません (など0xまたは&h)、16 進数として区別します。If the s parameter is the string representation of a hexadecimal number, it cannot be preceded by any decoration (such as 0x or &h) that differentiates it as a hexadecimal number. これにより、解析操作例外をスローします。This causes the parse operation to throw an exception.

場合s16 進数の数値を表す、Parse(String, NumberStyles)メソッドは、符号ビットとしてバイトの上位ビットを解釈します。If s represents a hexadecimal number, the Parse(String, NumberStyles) method interprets the high-order bit of the byte as a sign bit.

providerパラメーターは、IFormatProvider実装がGetFormatメソッドを返します。 をNumberFormatInfoの書式設定に関するカルチャ固有の情報を提供するオブジェクトsします。The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of s. 3 つの方法を使用する、provider解析操作にカスタムの書式設定情報を指定するパラメーター。There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • 実際に渡すことができますNumberFormatInfoの書式情報を提供するオブジェクト。You can pass the actual NumberFormatInfo object that provides formatting information. (その実装のGetFormat単にそれ自体を返します)。(Its implementation of GetFormat simply returns itself.)

  • 渡すことができます、CultureInfo書式を使用するカルチャを指定するオブジェクト。You can pass a CultureInfo object that specifies the culture whose formatting is to be used. そのNumberFormatプロパティは、書式設定情報を提供します。Its NumberFormat property provides formatting information.

  • カスタムを渡すことができますIFormatProvider実装します。You can pass a custom IFormatProvider implementation. そのGetFormatメソッドはインスタンス化する必要がありますを返す、NumberFormatInfoの書式情報を提供するオブジェクト。Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

場合providernullNumberFormatInfoオブジェクトの現在のカルチャが使用されます。If provider is null, the NumberFormatInfo object for the current culture is used.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

重要

この API は CLS 準拠ではありません。

[System.CLSCompliant(false)]
public static sbyte Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = null);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> sbyte
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = null) As SByte

パラメーター

戻り値

Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

重要

この API は CLS 準拠ではありません。

CLS 準拠の代替
System.Int16.Parse(String)

指定したスタイルの数値の文字列形式を、それと等価の 8 ビット符号付き整数に変換します。Converts the string representation of a number in a specified style to its 8-bit signed integer equivalent.

public:
 static System::SByte Parse(System::String ^ s, System::Globalization::NumberStyles style);
[System.CLSCompliant(false)]
public static sbyte Parse (string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> sbyte
Public Shared Function Parse (s As String, style As NumberStyles) As SByte

パラメーター

s
String String String String

変換する数値を含んだ文字列。A string that contains a number to convert. 文字列は、style で指定されたスタイルを使用して解釈されます。The string is interpreted using the style specified by style.

style
NumberStyles NumberStyles NumberStyles NumberStyles

s で使用可能なスタイル要素を示す、列挙値のビットごとの組み合わせ。A bitwise combination of the enumeration values that indicates the style elements that can be present in s. 通常指定する値は、Integer です。A typical value to specify is Integer.

戻り値

s で指定した数値と等しい 8 ビット符号付き整数。An 8-bit signed integer that is equivalent to the number specified in s.

例外

s が、style に準拠した形式ではありません。s is not in a format that is compliant with style.

s は、MinValue 未満の数値か、MaxValue より大きい数値を表します。s represents a number less than MinValue or greater than MaxValue.

または-or- s に 0 以外の小数部の桁が含まれています。s includes non-zero, fractional digits.

styleNumberStyles 値ではありません。style is not a NumberStyles value.

または-or- styleAllowHexSpecifier 値と HexNumber 値の組み合わせではありません。style is not a combination of AllowHexSpecifier and HexNumber values.

次の例の文字列形式を解析するSByte値で、Parse(String, NumberStyles)メソッド。The following example parses string representations of SByte values with the Parse(String, NumberStyles) method. 例では、現在のカルチャは、en-us (英語) です。The current culture for the example is en-US.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      NumberStyles style;
      sbyte number;

      // Parse value with no styles allowed.
      string[] values1 = { " 121 ", "121", "-121" };
      style = NumberStyles.None;
      Console.WriteLine("Styles: {0}", style.ToString());
      foreach (string value in values1)
      {
         try {
            number = SByte.Parse(value, style);
            Console.WriteLine("   Converted '{0}' to {1}.", value, number);
         }   
         catch (FormatException) {
            Console.WriteLine("   Unable to parse '{0}'.", value);
         }
      }
      Console.WriteLine();
            
      // Parse value with trailing sign.
      style = NumberStyles.Integer | NumberStyles.AllowTrailingSign;
      string[] values2 = { " 103+", " 103 +", "+103", "(103)", "   +103  " };
      Console.WriteLine("Styles: {0}", style.ToString());
      foreach (string value in values2)
      {
         try {
            number = SByte.Parse(value, style);
            Console.WriteLine("   Converted '{0}' to {1}.", value, number);
         }   
         catch (FormatException) {
            Console.WriteLine("   Unable to parse '{0}'.", value);
         }      
         catch (OverflowException) {
            Console.WriteLine("   '{0}' is out of range of the SByte type.", value);         
         }
      }      
      Console.WriteLine();
   }
}
// The example displays the following output:
//       Styles: None
//          Unable to parse ' 121 '.
//          Converted '121' to 121.
//          Unable to parse '-121'.
//       
//       Styles: Integer, AllowTrailingSign
//          Converted ' 103+' to 103.
//          Converted ' 103 +' to 103.
//          Converted '+103' to 103.
//          Unable to parse '(103)'.
//          Converted '   +103  ' to 103.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim style As NumberStyles
      Dim number As SByte

      ' Parse value with no styles allowed.
      Dim values1() As String = { " 121 ", "121", "-121" }
      style = NumberStyles.None
      Console.WriteLine("Styles: {0}", style.ToString())
      For Each value As String In values1
         Try
            number = SByte.Parse(value, style)
            Console.WriteLine("   Converted '{0}' to {1}.", value, number)
         Catch e As FormatException
            Console.WriteLine("   Unable to parse '{0}'.", value)   
         End Try
      Next
      Console.WriteLine()
            
      ' Parse value with trailing sign.
      style = NumberStyles.Integer Or NumberStyles.AllowTrailingSign
      Dim values2() As String = { " 103+", " 103 +", "+103", "(103)", "   +103  " }
      Console.WriteLine("Styles: {0}", style.ToString())
      For Each value As String In values2
         Try
            number = SByte.Parse(value, style)
            Console.WriteLine("   Converted '{0}' to {1}.", value, number)
         Catch e As FormatException
            Console.WriteLine("   Unable to parse '{0}'.", value)   
         Catch e As OverflowException
            Console.WriteLine("   '{0}' is out of range of the SByte type.", value)         
         End Try
      Next      
      Console.WriteLine()
   End Sub
End Module
' The example displays the following output:
'       Styles: None
'          Unable to parse ' 121 '.
'          Converted '121' to 121.
'          Unable to parse '-121'.
'       
'       Styles: Integer, AllowTrailingSign
'          Converted ' 103+' to 103.
'          Converted ' 103 +' to 103.
'          Converted '+103' to 103.
'          Unable to parse '(103)'.
'          Converted '   +103  ' to 103.

注釈

style (空白、正または負の記号など) で使用できるスタイル要素を定義するパラメーター、s解析操作が成功するためのパラメーター。The style parameter defines the style elements (such as white space or the positive or negative sign symbol) that are allowed in the s parameter for the parse operation to succeed. ビット フラグの組み合わせがあります、NumberStyles列挙体。It must be a combination of bit flags from the NumberStyles enumeration.

値に応じてstylesパラメーターは、次の要素を含めることができます。Depending on the value of style, the s parameter may include the following elements:

[ws][$][sign]digits[.fractional_digits][E[sign]exponential_digits][ws][ws][$][sign]digits[.fractional_digits][E[sign]exponential_digits][ws]

場合styleが含まれていますNumberStyles.AllowHexSpecifiersパラメーターは、次の要素を含めることができます。If style includes NumberStyles.AllowHexSpecifier, the s parameter may contain the following elements:

[ws]hexdigits[ws][ws]hexdigits[ws]

角かっこ ([ および ]) 内の要素は省略可能です。Elements in square brackets ([ and ]) are optional. 次の表は、それぞれの要素の説明です。The following table describes each element.

要素Element 説明Description
wsws 空白文字の省略可能です。Optional white space. 先頭に空白文字を表示できるs場合styleが含まれています、NumberStyles.AllowLeadingWhiteの最後に、フラグ、およびそれが表示されるsスタイルが含まれている場合、NumberStyles.AllowTrailingWhiteフラグ。White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ カルチャ固有の通貨記号。A culture-specific currency symbol. によって、文字列内の位置が定義されている、NumberFormatInfo.CurrencyPositivePattern現在のカルチャのプロパティ。Its position in the string is defined by the NumberFormatInfo.CurrencyPositivePattern property of the current culture. 現在のカルチャの通貨記号に表示されるs場合styleが含まれています、NumberStyles.AllowCurrencySymbolフラグ。The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign オプションの符号。An optional sign. 先頭の符号が表示できるs場合styleが含まれています、NumberStyles.AllowLeadingSignの最後に、フラグ、およびそれが表示されるs場合styleが含まれています、NumberStyles.AllowTrailingSignフラグ。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.
数字digits 0 ~ 9 桁の数字のシーケンス。A sequence of digits from 0 through 9.
.. カルチャに固有の小数点記号。A culture-specific decimal point symbol. 現在のカルチャの小数点記号に表示されるs場合styleが含まれています、NumberStyles.AllowDecimalPointフラグ。The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional_digitsfractional_digits 数字 0 ~ 9 の 1 つ以上の出現回数場合styleが含まれています、NumberStyles.AllowExponentフラグ、またはそうでない場合は 0 桁の数字の 1 つ以上の出現回数。One or more occurrences of the digit 0-9 if style includes the NumberStyles.AllowExponent flag, or one or more occurrences of the digit 0 if it does not. 小数部の桁数を表示できるs場合にのみstyleが含まれています、NumberStyles.AllowDecimalPointフラグ。Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
EE "E"または"E"文字は、値は指数表記で表されていることを示します。The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. sパラメーターは指数表記の数値を表すことができる場合styleが含まれています、NumberStyles.AllowExponentフラグ。The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
exponential_digitsexponential_digits 数字 0 ~ 9 の 1 つ以上の出現します。One or more occurrences of the digit 0-9. sパラメーターは指数表記の数値を表すことができる場合styleが含まれています、NumberStyles.AllowExponentフラグ。The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits 0 ~ f、または f の 0 から 16 進数のシーケンスA sequence of hexadecimal digits from 0 through f, or 0 through F.

注意

終端の NUL (u+0000) 文字sの値に関係なく、解析操作では無視されますが、style引数。Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

10 進数字のみを含む文字列 (に対応する、NumberStyles.Noneスタイル) 常に正常に解析します。A string with decimal digits only (which corresponds to the NumberStyles.None style) always parses successfully. 残りのほとんどNumberStylesメンバーが存在する場合がありますが、入力文字列内に存在する必要はありません、要素を制御します。Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in the input string. 次の表に示す個別NumberStylesメンバー内に存在する要素に影響を与えるsします。The following table indicates how individual NumberStyles members affect the elements that may be present in s.

非複合 NumberStyles 値Non-composite NumberStyles values 使用できる要素s数字だけでなくElements permitted in s in addition to digits
NumberStyles.None 10 進数字のみです。Decimal digits only.
NumberStyles.AllowDecimalPoint 10 進数のポイント (.) とfractional_digits要素。The decimal point (.) and fractional_digits elements. ただし場合、styleは含まれません、NumberStyles.AllowExponentフラグ、 fractional_digitsのみ 1 つまたは複数の 0 の数字で構成する必要があります。 それ以外、OverflowExceptionがスローされます。However, if style does not include the NumberStyles.AllowExponent flag, fractional_digits must consist of only one or more 0 digits; otherwise, an OverflowException is thrown.
NumberStyles.AllowExponent "E"または"E"文字と共に、指数表記を示すexponential_digitsします。The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
NumberStyles.AllowLeadingWhite Wsの先頭にある要素sします。The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite Wsの末尾にある要素sします。The ws element at the end of s.
NumberStyles.AllowLeadingSign 前に正符号します。A positive sign before digits.
NumberStyles.AllowTrailingSign 後の正符号します。A positive sign after digits.
NumberStyles.AllowParentheses サインオン形式の数値を囲むかっこ内の要素。The sign element in the form of parentheses enclosing the numeric value.
NumberStyles.AllowThousands グループ区切り記号 (,) の要素。The group separator (,) element. グループ区切り記号を表示できますがs、のみ 1 つ以上の数字 0 を付ける必要があります。Although the group separator can appear in s, it must be preceded by only one or more 0 digits.
NumberStyles.AllowCurrencySymbol 通貨 ($) 要素。The currency ($) element.

場合、NumberStyles.AllowHexSpecifierフラグを使用すると、 s 16 進数の値を指定する必要があります。If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value. 有効な 16 進数の数字は 0 ~ 9、a ~ f、A から FValid hexadecimal digits are 0-9, a-f, and A-F. "0 x"のようなプレフィックスはサポートされていませんし、解析操作が失敗します。A prefix such as "0x" is not supported and causes the parse operation to fail. 他のフラグのみ組み合わせることができるに含まれるstyleNumberStyles.AllowLeadingWhiteNumberStyles.AllowTrailingWhiteします。The only other flags that can be combined included in style are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (、NumberStyles列挙には、複合数値スタイルが含まれていますNumberStyles.HexNumber、空白文字の両方のフラグが含まれます。)。(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

注意

場合、sパラメーターは、16 進数の文字列表現、接頭辞が付けることはできません (など0xまたは&h)、16 進数として区別します。If the s parameter is the string representation of a hexadecimal number, it cannot be preceded by any decoration (such as 0x or &h) that differentiates it as a hexadecimal number. これにより、解析操作例外をスローします。This causes the parse operation to throw an exception.

場合s16 進数の数値を表す、Parse(String, NumberStyles)メソッドは、符号ビットとしてバイトの上位ビットを解釈します。If s represents a hexadecimal number, the Parse(String, NumberStyles) method interprets the high-order bit of the byte as a sign bit.

sで書式設定情報を使用してパラメーターを解析、NumberFormatInfoオブジェクトを現在のシステム カルチャが初期化されます。The s parameter is parsed by using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. その他のいくつかのカルチャの書式情報を使用する呼び出し、Parse(String, NumberStyles, IFormatProvider)オーバー ロードします。To use the formatting information of some other culture, call the Parse(String, NumberStyles, IFormatProvider) overload.

こちらもご覧ください

Parse(String) Parse(String) Parse(String) Parse(String)

重要

この API は CLS 準拠ではありません。

CLS 準拠の代替
System.Int16.Parse(String)

数値の文字列形式を、それと等価な 8 ビット符号付き整数に変換します。Converts the string representation of a number to its 8-bit signed integer equivalent.

public:
 static System::SByte Parse(System::String ^ s);
[System.CLSCompliant(false)]
public static sbyte Parse (string s);
static member Parse : string -> sbyte
Public Shared Function Parse (s As String) As SByte

パラメーター

s
String String String String

変換する数値を表す文字列。A string that represents a number to convert. 文字列は、Integer スタイルを使用して解釈されます。The string is interpreted using the Integer style.

戻り値

s パラメーターに格納されている数値と等価な 8 ビット符号付き整数。An 8-bit signed integer that is equivalent to the number contained in the s parameter.

例外

s は、オプションの符号とそれに続く連続する数字 (0 ~ 9) で構成されていません。s does not consist of an optional sign followed by a sequence of digits (zero through nine).

s は、MinValue 未満の数値か、MaxValue より大きい数値を表します。s represents a number less than MinValue or greater than MaxValue.

次の例では、文字列値を使用して符号付きバイト値に変換する方法、Parseメソッド。The following example demonstrates how to convert a string value into a signed byte value using the Parse method. 結果の符号付きバイト値がコンソールに表示されます。The resulting signed byte value is then displayed to the console.

// Define an array of numeric strings.
string[] values = { "-16", "  -3", "+ 12", " +12 ", "  12  ",
                    "+120", "(103)", "192", "-160" };
                           
// Parse each string and display the result.
foreach (string value in values)
{
   try {
      Console.WriteLine("Converted '{0}' to the SByte value {1}.",
                        value, SByte.Parse(value));
   }
   catch (FormatException) {
      Console.WriteLine("'{0}' cannot be parsed successfully by SByte type.",
                        value);
   }                              
   catch (OverflowException) {
      Console.WriteLine("'{0}' is out of range of the SByte type.",
                        value);
   }                                                                        
}
// The example displays the following output:
//       Converted '-16' to the SByte value -16.
//       Converted '  -3' to the SByte value -3.
//       '+ 12' cannot be parsed successfully by SByte type.
//       Converted ' +12 ' to the SByte value 12.
//       Converted '  12  ' to the SByte value 12.
//       Converted '+120' to the SByte value 120.
//       '(103)' cannot be parsed successfully by SByte type.
//       '192' is out of range of the SByte type.
//       '-160' is out of range of the SByte type.
' Define an array of numeric strings.
Dim values() As String = { "-16", "  -3", "+ 12", " +12 ", "  12  ", _
                           "+120", "(103)", "192", "-160" }
                           
' Parse each string and display the result.
For Each value As String In values
   Try
      Console.WriteLine("Converted '{0}' to the SByte value {1}.", _
                        value, SByte.Parse(value))
   Catch e As FormatException
      Console.WriteLine("'{0}' cannot be parsed successfully by SByte type.", _
                        value)
   Catch e As OverflowException
      Console.WriteLine("'{0}' is out of range of the SByte type.", _
                        value)
   End Try                                                                        
Next        
' The example displays the following output:
'       Converted '-16' to the SByte value -16.
'       Converted '  -3' to the SByte value -3.
'       '+ 12' cannot be parsed successfully by SByte type.
'       Converted ' +12 ' to the SByte value 12.
'       Converted '  12  ' to the SByte value 12.
'       Converted '+120' to the SByte value 120.
'       '(103)' cannot be parsed successfully by SByte type.
'       '192' is out of range of the SByte type.
'       '-160' is out of range of the SByte type.

注釈

sパラメーターには、フォームの番号が含まれています。The s parameter contains a number of the form:

[ws][sign]digits[ws][ws][sign]digits[ws]

角かっこ ([ および ]) 内の要素は省略可能です。Elements in square brackets ([ and ]) are optional. 次の表は、それぞれの要素の説明です。The following table describes each element.

要素Element 説明Description
wsws 空白文字の省略可能です。Optional white space.
signsign オプションの符号。An optional sign.
数字digits 0 から 9 までの数字のシーケンス。A sequence of digits ranging from 0 to 9.

sパラメーターを使用して解釈されますが、NumberStyles.Integerスタイル。The s parameter is interpreted using the NumberStyles.Integer style. バイト値の 10 進数字以外には、先頭と末尾のスペースを先頭の正または負符号のみを使用できます。In addition to the byte value's decimal digits, only leading and trailing spaces with a leading positive or negative sign are allowed. 使用可能なスタイル要素を明示的に定義するs、いずれかを使用して、Parse(String, NumberStyles)またはParse(String, NumberStyles, IFormatProvider)メソッド。To explicitly define the style elements that can be present in s, use either the Parse(String, NumberStyles) or the Parse(String, NumberStyles, IFormatProvider) method.

sで書式設定情報を使用してパラメーターを解析、NumberFormatInfoシステムの現在のカルチャに初期化されます。The s parameter is parsed by using the formatting information in a NumberFormatInfo that is initialized for the current system culture. 詳細については、「NumberFormatInfo.CurrentInfo」を参照してください。For more information, see NumberFormatInfo.CurrentInfo. 使用して、他のいくつかのカルチャの書式設定情報を使用して文字列を解析する、Parse(String, NumberStyles, IFormatProvider)メソッド。To parse a string by using the formatting information of some other culture, use the Parse(String, NumberStyles, IFormatProvider) method.

こちらもご覧ください

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

重要

この API は CLS 準拠ではありません。

CLS 準拠の代替
System.Int16.Parse(String)

指定したカルチャに固有の書式による数値の文字列形式を、それと等価な 8 ビット符号付き整数に変換します。Converts the string representation of a number in a specified culture-specific format to its 8-bit signed integer equivalent.

public:
 static System::SByte Parse(System::String ^ s, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static sbyte Parse (string s, IFormatProvider provider);
static member Parse : string * IFormatProvider -> sbyte
Public Shared Function Parse (s As String, provider As IFormatProvider) As SByte

パラメーター

s
String String String String

変換する数値を表す文字列。A string that represents a number to convert. 文字列は、Integer スタイルを使用して解釈されます。The string is interpreted using the Integer style.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

s に関するカルチャ固有の書式情報を提供するオブジェクト。An object that supplies culture-specific formatting information about s. providernull の場合は、スレッドの現在のカルチャが使用されます。If provider is null, the thread current culture is used.

戻り値

s で指定した数値と等しい 8 ビット符号付き整数。An 8-bit signed integer that is equivalent to the number specified in s.

例外

s が正しい形式ではありません。s is not in the correct format.

s は、MinValue 未満の数値か、MaxValue より大きい数値を表します。s represents a number less than MinValue or greater than MaxValue.

次の例では、カスタムNumberFormatInfo負の符号としてティルダ (~) を定義するオブジェクト。The following example defines a custom NumberFormatInfo object that defines the tilde (~) as the negative sign. このカスタムを使用して数値の文字列の数値を解析し、NumberFormatInfoオブジェクトと同様に、CultureInfoインバリアント カルチャを表すオブジェクト。It then parses a number of numeric strings using this custom NumberFormatInfo object as well as a CultureInfo object that represents the invariant culture.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      NumberFormatInfo nf = new NumberFormatInfo();
      nf.NegativeSign = "~"; 
      
      string[] values = { "-103", "+12", "~16", "  1", "~255" };
      IFormatProvider[] providers = { nf, CultureInfo.InvariantCulture };
      
      foreach (IFormatProvider provider in providers)
      {
         Console.WriteLine("Conversions using {0}:", ((object) provider).GetType().Name);
         foreach (string value in values)
         {
            try {
               Console.WriteLine("   Converted '{0}' to {1}.", 
                                 value, SByte.Parse(value, provider));
            }                     
            catch (FormatException) {
               Console.WriteLine("   Unable to parse '{0}'.", value);   
            }
            catch (OverflowException) {
               Console.WriteLine("   '{0}' is out of range of the SByte type.", value);         
            }
         }
      }      
   }
}
// The example displays the following output:
//       Conversions using NumberFormatInfo:
//          Unable to parse '-103'.
//          Converted '+12' to 12.
//          Converted '~16' to -16.
//          Converted '  1' to 1.
//          '~255' is out of range of the SByte type.
//       Conversions using CultureInfo:
//          Converted '-103' to -103.
//          Converted '+12' to 12.
//          Unable to parse '~16'.
//          Converted '  1' to 1.
//          Unable to parse '~255'.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim nf As New NumberFormatInfo()
      nf.NegativeSign = "~" 
      
      Dim values() As String = { "-103", "+12", "~16", "  1", "~255" }
      Dim providers() As IFormatProvider = { nf, CultureInfo.InvariantCulture }
      
      For Each provider As IFormatProvider In providers
         Console.WriteLine("Conversions using {0}:", CObj(provider).GetType().Name)
         For Each value As String In values
            Try
               Console.WriteLine("   Converted '{0}' to {1}.", _
                                 value, SByte.Parse(value, provider))
            Catch e As FormatException
               Console.WriteLine("   Unable to parse '{0}'.", value)   
            Catch e As OverflowException
               Console.WriteLine("   '{0}' is out of range of the SByte type.", value)         
            End Try
         Next
      Next      
   End Sub
End Module
' The example displays '
'       Conversions using NumberFormatInfo:
'          Unable to parse '-103'.
'          Converted '+12' to 12.
'          Converted '~16' to -16.
'          Converted '  1' to 1.
'          '~255' is out of range of the SByte type.
'       Conversions using CultureInfo:
'          Converted '-103' to -103.
'          Converted '+12' to 12.
'          Unable to parse '~16'.
'          Converted '  1' to 1.
'          Unable to parse '~255'.

注釈

sパラメーターには、フォームの番号が含まれています。The s parameter contains a number of the form:

[ws][sign]digits[ws][ws][sign]digits[ws]

角かっこ ([ および ]) 内の要素は省略可能です。Elements in square brackets ([ and ]) are optional. 次の表は、それぞれの要素の説明です。The following table describes each element.

要素Element 説明Description
wsws 空白文字の省略可能です。Optional white space.
signsign オプションの符号。An optional sign.
数字digits 0 から 9 までの数字のシーケンス。A sequence of digits ranging from 0 to 9.

sパラメーターを使用して解釈されますが、Integerスタイル。The s parameter is interpreted using the Integer style. バイト値の 10 進数字だけでなくには、先頭と末尾のスペースを先頭の符号のみを許可します。In addition to the byte value's decimal digits, only leading and trailing spaces with a leading sign are allowed. 使用できるカルチャに固有の書式情報を持つスタイル要素を明示的に定義するsを使用して、Parse(String, NumberStyles, IFormatProvider)メソッド。To explicitly define the style elements with the culture-specific formatting information that can be present in s, use the Parse(String, NumberStyles, IFormatProvider) method.

providerパラメーターは、IFormatProvider実装がGetFormatメソッドを返します。 をNumberFormatInfoの書式設定に関するカルチャ固有の情報を提供するオブジェクトsします。The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of s. 3 つの方法を使用する、provider解析操作にカスタムの書式設定情報を指定するパラメーター。There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • 実際に渡すことができますNumberFormatInfoの書式情報を提供するオブジェクト。You can pass the actual NumberFormatInfo object that provides formatting information. (その実装のGetFormat単にそれ自体を返します)。(Its implementation of GetFormat simply returns itself.)

  • 渡すことができます、CultureInfo書式を使用するカルチャを指定するオブジェクト。You can pass a CultureInfo object that specifies the culture whose formatting is to be used. そのNumberFormatプロパティは、書式設定情報を提供します。Its NumberFormat property provides formatting information.

  • カスタムを渡すことができますIFormatProvider実装します。You can pass a custom IFormatProvider implementation. そのGetFormatメソッドはインスタンス化する必要がありますを返す、NumberFormatInfoの書式情報を提供するオブジェクト。Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

場合providernullNumberFormatInfoオブジェクトの現在のカルチャが使用されます。If provider is null, the NumberFormatInfo object for the current culture is used.

こちらもご覧ください

適用対象