SByte.TryParse メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
数値の文字列形式を、等価の 8 ビット符号付き整数に変換します。 戻りコードは、変換が成功したか失敗したかを示します。
オーバーロード
TryParse(ReadOnlySpan<Byte>, IFormatProvider, SByte) |
UTF-8 文字のスパンを値に解析しようとします。 |
TryParse(ReadOnlySpan<Char>, SByte) |
数値のスパン表現を等価の SByte に変換し、変換が成功したかどうかを示す値を返します。 |
TryParse(String, SByte) |
数値の文字列形式を等価の SByte に変換し、変換が成功したかどうかを示す値を返します。 |
TryParse(ReadOnlySpan<Char>, IFormatProvider, SByte) |
文字のスパンを値に解析しようとします。 |
TryParse(String, IFormatProvider, SByte) |
文字列を値に解析しようとします。 |
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, SByte) |
UTF-8 文字のスパンを値に解析しようとします。 |
TryParse(ReadOnlySpan<Byte>, SByte) |
数値の文字列形式を含む UTF-8 文字スパンを、等価の 8 ビット符号付き整数に変換しようとします。 |
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, SByte) |
指定したスタイルおよびカルチャ固有の形式の数値のスパン表現を等価の SByte に変換し、変換が成功したかどうかを示す値を返します。 |
TryParse(String, NumberStyles, IFormatProvider, SByte) |
指定したスタイルおよびカルチャ固有の形式の数値の文字列形式を等価の SByte に変換し、変換が成功したかどうかを示す値を返します。 |
TryParse(ReadOnlySpan<Byte>, IFormatProvider, SByte)
- ソース:
- SByte.cs
- ソース:
- SByte.cs
UTF-8 文字のスパンを値に解析しようとします。
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = IUtf8SpanParsable<System::SByte>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out sbyte result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As SByte) As Boolean
パラメーター
- utf8Text
- ReadOnlySpan<Byte>
解析する UTF-8 文字のスパン。
- provider
- IFormatProvider
utf8Text
に関するカルチャ固有の書式設定情報を提供するオブジェクト。
- result
- SByte
戻り値には、utf8Text
が正常に解析された結果、または失敗した場合に未定義の値が含まれます。
戻り値
utf8Text
が正常に解析されたかどうかを true
します。それ以外の場合は、false
します。
適用対象
TryParse(ReadOnlySpan<Char>, SByte)
- ソース:
- SByte.cs
- ソース:
- SByte.cs
- ソース:
- SByte.cs
重要
この API は CLS 準拠ではありません。
数値のスパン表現を等価の SByte に変換し、変換が成功したかどうかを示す値を返します。
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] System::SByte % result);
public static bool TryParse (ReadOnlySpan<char> s, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, out sbyte result);
static member TryParse : ReadOnlySpan<char> * sbyte -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * sbyte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As SByte) As Boolean
パラメーター
- s
- ReadOnlySpan<Char>
変換する数値を表す文字を含むスパン。
- result
- SByte
このメソッドから制御が戻るときに、変換に成功した場合は s
に含まれる数値に相当する 8 ビット符号付き整数値を格納し、変換に失敗した場合は 0 を格納します。 result
で最初に指定された値は上書きされます。
戻り値
s
が正常に変換されたかどうかを true
します。それ以外の場合は、false
します。
- 属性
適用対象
TryParse(String, SByte)
- ソース:
- SByte.cs
- ソース:
- SByte.cs
- ソース:
- SByte.cs
重要
この API は CLS 準拠ではありません。
数値の文字列形式を等価の SByte に変換し、変換が成功したかどうかを示す値を返します。
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::SByte % result);
[System.CLSCompliant(false)]
public static bool TryParse (string s, out sbyte result);
public static bool TryParse (string? s, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse (string? s, out sbyte result);
[<System.CLSCompliant(false)>]
static member TryParse : string * sbyte -> bool
static member TryParse : string * sbyte -> bool
Public Shared Function TryParse (s As String, ByRef result As SByte) As Boolean
パラメーター
- s
- String
変換する数値を含む文字列。
- result
- SByte
このメソッドから制御が戻るときに、変換に成功した場合は s
に含まれる数値に相当する 8 ビット符号付き整数値を格納し、変換に失敗した場合は 0 を格納します。 result
で最初に指定された値は上書きされます。
戻り値
s
が正常に変換されたかどうかを true
します。それ以外の場合は、false
します。
- 属性
例
次の例では、TryParse(String, SByte) メソッドを呼び出して、配列内の文字列を SByte 値に変換しようとします。
string[] numericStrings = {"-3.6", "12.8", "+16.7", " 3 ", "(17)",
"-17", "+12", "18-", "987", "1,024", " 127 "};
sbyte number;
foreach (string numericString in numericStrings)
{
if (sbyte.TryParse(numericString, out number))
Console.WriteLine("Converted '{0}' to {1}.", numericString, number);
else
Console.WriteLine("Cannot convert '{0}' to an SByte.", numericString);
}
// The example displays the following output to the console:
// Cannot convert '-3.6' to an SByte.
// Cannot convert '12.8' to an SByte.
// Cannot convert '+16.7' to an SByte.
// Converted ' 3 ' to 3.
// Cannot convert '(17)' to an SByte.
// Converted '-17' to -17.
// Converted '+12' to 12.
// Cannot convert '18-' to an SByte.
// Cannot convert '987' to an SByte.
// Cannot convert '1,024' to an SByte.
// Converted ' 127 ' to 127.
open System
let numericStrings =
[| "-3.6"; "12.8"; "+16.7"; " 3 "; "(17)"
"-17"; "+12"; "18-"; "987"; "1,024"; " 127 " |]
for numericString in numericStrings do
match SByte.TryParse numericString with
| true, number ->
printfn $"Converted '{numericString}' to {number}."
| _ ->
printfn $"Cannot convert '{numericString}' to an SByte."
// The example displays the following output to the console:
// Cannot convert '-3.6' to an SByte.
// Cannot convert '12.8' to an SByte.
// Cannot convert '+16.7' to an SByte.
// Converted ' 3 ' to 3.
// Cannot convert '(17)' to an SByte.
// Converted '-17' to -17.
// Converted '+12' to 12.
// Cannot convert '18-' to an SByte.
// Cannot convert '987' to an SByte.
// Cannot convert '1,024' to an SByte.
// Converted ' 127 ' to 127.
Dim numericStrings() As String = {"-3.6", "12.8", "+16.7", " 3 ", _
"(17)", "-17", "+12", "18-", "987", _
"1,024", " 127 "}
Dim number As SByte
For Each numericString As String In numericStrings
If SByte.TryParse(numericString, number) Then
Console.WriteLine("Converted '{0}' to {1}.", numericString, number)
Else
Console.WriteLine("Cannot convert '{0}' to an SByte.", numericString)
End If
Next
' The example displays the following output to the console:
' Cannot convert '-3.6' to an SByte.
' Cannot convert '12.8' to an SByte.
' Cannot convert '+16.7' to an SByte.
' Converted ' 3 ' to 3.
' Cannot convert '(17)' to an SByte.
' Converted '-17' to -17.
' Converted '+12' to 12.
' Cannot convert '18-' to an SByte.
' Cannot convert '987' to an SByte.
' Cannot convert '1,024' to an SByte.
' Converted ' 127 ' to 127.
注釈
SByte.TryParse(String, SByte) メソッドは、変換が失敗した場合に例外をスローしない点を除き、SByte.Parse(String) メソッドに似ています。 このメソッドを使用すると、value
が無効で正常に解析できない場合に、例外処理を使用して FormatException をテストする必要がなくなります。
s
パラメーターは、次の形式の 10 進数の文字列形式にする必要があります。
[ ws
角かっこ ([ と ]) の要素は省略可能です。 次の表では、各要素について説明します。
要素 | 形容 |
---|---|
ws の |
省略可能な空白。 |
sign | 省略可能な記号。 有効な符号文字は、現在のカルチャの NumberFormatInfo.NegativeSign プロパティと NumberFormatInfo.PositiveSign プロパティによって決まります。 |
桁の | 0 から 9 までの 10 進数のシーケンス。 |
手記
value
パラメーターで指定された文字列には、グループ区切り記号または小数点区切り記号を含めることはできません。また、小数部を含めることはできません。
s
パラメーターは、NumberStyles.Integer スタイルを使用して解釈されます。 10 進数に加えて、先頭と末尾に先頭の記号が付いたスペースのみを使用できます。
value
に存在できるカルチャ固有の書式設定情報を使用してスタイル要素を明示的に定義するには、TryParse(String, NumberStyles, IFormatProvider, SByte) メソッドを呼び出します。
s
パラメーターは、現在のカルチャの NumberFormatInfo オブジェクトの書式設定情報を使用して解析されます。 詳細については、NumberFormatInfo.CurrentInfoを参照してください。
このオーバーロードは、value
パラメーター内のすべての数字を 10 進数として解釈します。 16 進数の文字列形式を解析するには、代わりに TryParse(String, NumberStyles, IFormatProvider, SByte) オーバーロードを呼び出します。
こちらもご覧ください
- サンプル: .NET Core WinForms Formatting Utility (C#)
- サンプル: .NET Core WinForms Formatting Utility (Visual Basic)
適用対象
TryParse(ReadOnlySpan<Char>, IFormatProvider, SByte)
- ソース:
- SByte.cs
- ソース:
- SByte.cs
- ソース:
- SByte.cs
文字のスパンを値に解析しようとします。
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = ISpanParsable<System::SByte>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, IFormatProvider? provider, out sbyte result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As SByte) As Boolean
パラメーター
- s
- ReadOnlySpan<Char>
解析する文字のスパン。
- provider
- IFormatProvider
s
に関するカルチャ固有の書式設定情報を提供するオブジェクト。
- result
- SByte
このメソッドから制御が戻るときに、s
が正常に解析された結果、または失敗した場合は未定義の値が格納されます。
戻り値
s
が正常に解析されたかどうかを true
します。それ以外の場合は、false
します。
適用対象
TryParse(String, IFormatProvider, SByte)
- ソース:
- SByte.cs
- ソース:
- SByte.cs
- ソース:
- SByte.cs
文字列を値に解析しようとします。
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = IParsable<System::SByte>::TryParse;
public static bool TryParse (string? s, IFormatProvider? provider, out sbyte result);
static member TryParse : string * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As SByte) As Boolean
パラメーター
- s
- String
解析する文字列。
- provider
- IFormatProvider
s
に関するカルチャ固有の書式設定情報を提供するオブジェクト。
- result
- SByte
このメソッドから制御が戻るときに、正常に s
解析された結果または失敗した場合の未定義の値が格納されます。
戻り値
s
が正常に解析されたかどうかを true
します。それ以外の場合は、false
します。
適用対象
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, SByte)
- ソース:
- SByte.cs
- ソース:
- SByte.cs
UTF-8 文字のスパンを値に解析しようとします。
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = System::Numerics::INumberBase<System::SByte>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As SByte) As Boolean
パラメーター
- utf8Text
- ReadOnlySpan<Byte>
解析する UTF-8 文字のスパン。
- style
- NumberStyles
utf8Text
に存在できる数値スタイルのビットごとの組み合わせ。
- provider
- IFormatProvider
utf8Text
に関するカルチャ固有の書式設定情報を提供するオブジェクト。
- result
- SByte
戻り値には、utf8Text
が正常に解析された結果、または失敗した場合に未定義の値が含まれます。
戻り値
utf8Text
が正常に解析されたかどうかを true
します。それ以外の場合は、false
します。
適用対象
TryParse(ReadOnlySpan<Byte>, SByte)
- ソース:
- SByte.cs
- ソース:
- SByte.cs
数値の文字列形式を含む UTF-8 文字スパンを、等価の 8 ビット符号付き整数に変換しようとします。
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::SByte % result);
public static bool TryParse (ReadOnlySpan<byte> utf8Text, out sbyte result);
static member TryParse : ReadOnlySpan<byte> * sbyte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As SByte) As Boolean
パラメーター
- utf8Text
- ReadOnlySpan<Byte>
変換する数値を表す UTF-8 文字を含むスパン。
- result
- SByte
このメソッドから制御が戻るときに、変換に成功した場合は utf8Text
に含まれる数値に相当する 8 ビット符号付き整数値を格納し、変換に失敗した場合は 0 を格納します。 このパラメーターは初期化されていない状態で渡されます。結果で最初に指定された値は上書きされます。
戻り値
utf8Text
が正常に変換されたかどうかを true
します。それ以外の場合は、false
します。
適用対象
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, SByte)
- ソース:
- SByte.cs
- ソース:
- SByte.cs
- ソース:
- SByte.cs
重要
この API は CLS 準拠ではありません。
指定したスタイルおよびカルチャ固有の形式の数値のスパン表現を等価の SByte に変換し、変換が成功したかどうかを示す値を返します。
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result);
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = System::Numerics::INumberBase<System::SByte>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
[<System.CLSCompliant(false)>]
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As SByte) As Boolean
パラメーター
- s
- ReadOnlySpan<Char>
変換する数値を表す文字を含むスパン。
- style
- NumberStyles
s
の許可された形式を示す列挙値のビットごとの組み合わせ。 指定する一般的な値は Integerです。
- provider
- IFormatProvider
s
に関するカルチャ固有の書式設定情報を提供するオブジェクト。
- result
- SByte
このメソッドから制御が戻るときに、変換に成功した場合は s
に含まれる数値に相当する 8 ビット符号付き整数値が格納され、変換に失敗した場合は 0 が格納されます。 result
で最初に指定された値は上書きされます。
戻り値
s
が正常に変換されたかどうかを true
します。それ以外の場合は、false
します。
- 属性
適用対象
TryParse(String, NumberStyles, IFormatProvider, SByte)
- ソース:
- SByte.cs
- ソース:
- SByte.cs
- ソース:
- SByte.cs
指定したスタイルおよびカルチャ固有の形式の数値の文字列形式を等価の SByte に変換し、変換が成功したかどうかを示す値を返します。
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result);
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::SByte % result) = System::Numerics::INumberBase<System::SByte>::TryParse;
[System.CLSCompliant(false)]
public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out sbyte result);
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
[System.CLSCompliant(false)]
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out sbyte result);
[<System.CLSCompliant(false)>]
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * sbyte -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As SByte) As Boolean
パラメーター
- s
- String
変換する数値を表す文字列。
- style
- NumberStyles
s
の許可された形式を示す列挙値のビットごとの組み合わせ。 指定する一般的な値は Integerです。
- provider
- IFormatProvider
s
に関するカルチャ固有の書式設定情報を提供するオブジェクト。
- result
- SByte
このメソッドから制御が戻るときに、変換に成功した場合は s
に含まれる数値に相当する 8 ビット符号付き整数値が格納され、変換に失敗した場合は 0 が格納されます。 result
で最初に指定された値は上書きされます。
戻り値
s
が正常に変換されたかどうかを true
します。それ以外の場合は、false
します。
- 属性
例外
例
次の例では、さまざまな文字列と NumberStyles 値を使用して TryParse(String, NumberStyles, IFormatProvider, SByte) メソッドを呼び出します。
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string numericString;
NumberStyles styles;
numericString = "106";
styles = NumberStyles.Integer;
CallTryParse(numericString, styles);
numericString = "-106";
styles = NumberStyles.None;
CallTryParse(numericString, styles);
numericString = "103.00";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "103.72";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(numericString, styles);
numericString = "10E-01";
styles = NumberStyles.Integer | NumberStyles.AllowExponent;
CallTryParse(numericString, styles);
numericString = "12E-01";
CallTryParse(numericString, styles);
numericString = "12E01";
CallTryParse(numericString, styles);
numericString = "C8";
CallTryParse(numericString, NumberStyles.HexNumber);
numericString = "0x8C";
CallTryParse(numericString, NumberStyles.HexNumber);
}
private static void CallTryParse(string stringToConvert, NumberStyles styles)
{
sbyte number;
bool result = SByte.TryParse(stringToConvert, styles,
CultureInfo.InvariantCulture, out number);
if (result)
Console.WriteLine($"Converted '{stringToConvert}' to {number}.");
else
Console.WriteLine($"Attempted conversion of '{stringToConvert}' failed.");
}
}
// The example displays the following output:
// Converted '106' to 106.
// Attempted conversion of '-106' failed.
// Converted '103.00' to 103.
// Attempted conversion of '103.72' failed.
// Converted '10E-01' to 1.
// Attempted conversion of '12E-01' failed.
// Converted '12E01' to 120.
// Converted 'C8' to -56.
// Attempted conversion of '0x8C' failed.
open System
open System.Globalization
let callTryParse (stringToConvert: string) styles =
match SByte.TryParse(stringToConvert, styles, CultureInfo.InvariantCulture) with
| true, number ->
printfn $"Converted '{stringToConvert}' to {number}."
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
[<EntryPoint>]
let main _ =
let numericString = "106"
let styles = NumberStyles.Integer
callTryParse numericString styles
let numericString = "-106"
let styles = NumberStyles.None
callTryParse numericString styles
let numericString = "103.00"
let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
callTryParse numericString styles
let numericString = "103.72"
let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
callTryParse numericString styles
let numericString = "10E-01"
let styles = NumberStyles.Integer ||| NumberStyles.AllowExponent
callTryParse numericString styles
let numericString = "12E-01"
callTryParse numericString styles
let numericString = "12E01"
callTryParse numericString styles
let numericString = "C8"
callTryParse numericString NumberStyles.HexNumber
let numericString = "0x8C"
callTryParse numericString NumberStyles.HexNumber
0
// The example displays the following output:
// Converted '106' to 106.
// Attempted conversion of '-106' failed.
// Converted '103.00' to 103.
// Attempted conversion of '103.72' failed.
// Converted '10E-01' to 1.
// Attempted conversion of '12E-01' failed.
// Converted '12E01' to 120.
// Converted 'C8' to -56.
// Attempted conversion of '0x8C' failed.
Imports System.Globalization
Module StringParsing
Public Sub Main()
Dim numericString As String
Dim styles As NumberStyles
numericString = "106"
styles = NumberStyles.Integer
CallTryParse(numericString, styles)
numericString = "-106"
styles = NumberStyles.None
CallTryParse(numericString, styles)
numericString = "103.00"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "103.72"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(numericString, styles)
numericString = "10E-01"
styles = NumberStyles.Integer Or NumberStyles.AllowExponent
CallTryParse(numericString, styles)
numericString = "12E-01"
CallTryParse(numericString, styles)
numericString = "12E01"
CallTryParse(numericString, styles)
numericString = "C8"
CallTryParse(numericString, NumberStyles.HexNumber)
numericString = "0x8C"
CallTryParse(numericString, NumberStyles.HexNumber)
End Sub
Private Sub CallTryParse(stringToConvert As String, styles AS NumberStyles)
Dim number As SByte
Dim result As Boolean = SByte.TryParse(stringToConvert, styles, _
CultureInfo.InvariantCulture, number)
If result Then
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number)
Else
Console.WriteLine("Attempted conversion of '{0}' failed.", _
Convert.ToString(stringToConvert))
End If
End Sub
End Module
' The example displays the following output to the console:
' Converted '106' to 106.
' Attempted conversion of '-106' failed.
' Converted '103.00' to 103.
' Attempted conversion of '103.72' failed.
' Converted '10E-01' to 1.
' Attempted conversion of '12E-01' failed.
' Converted '12E01' to 120.
' Converted 'C8' to -56.
' Attempted conversion of '0x8C' failed.
注釈
TryParse(String, NumberStyles, IFormatProvider, SByte) メソッドは、変換が失敗した場合に例外をスローしない点を除き、Parse(String, NumberStyles, IFormatProvider) メソッドに似ています。 このメソッドでは、例外処理を使用して、value
が無効であり、正常に解析できない場合に FormatException をテストする必要がなくなります。
style
パラメーターは、解析操作を成功させるために value
パラメーターで許可されるスタイル要素 (空白や正または負の符号など) を定義します。
NumberStyles 列挙型のビット フラグの組み合わせである必要があります。
style
の値によっては、value
パラメーターに次の要素が含まれる場合があります。
[ ws
style
パラメーターに AllowHexSpecifierが含まれている場合、value
パラメーターには次の要素を含めることができます。
[ws]hexdigits[ws]
角かっこ ([ と ]) の要素は省略可能です。 次の表では、各要素について説明します。
要素 | 形容 |
---|---|
ws の |
省略可能な空白。 空白は、value の開始時 style NumberStyles.AllowLeadingWhite フラグが含まれている場合は表示され、NumberStyles.AllowTrailingWhite フラグ style 含まれている場合は value の最後に表示されます。 |
$ | カルチャ固有の通貨記号。 文字列内での位置は、provider パラメーターの GetFormat メソッドによって返される NumberFormatInfo オブジェクトの CurrencyPositivePattern プロパティによって定義されます。
style に NumberStyles.AllowCurrencySymbol フラグが含まれている場合、通貨記号は value に表示されます。 |
sign | 省略可能な記号。
style に NumberStyles.AllowLeadingSign フラグが含まれている場合は value の開始時に表示され、style に NumberStyles.AllowTrailingSign フラグが含まれている場合は value の末尾に表示されます。
value でかっこを使用すると、style に NumberStyles.AllowParentheses フラグが含まれている場合に負の値を示すことができます。 |
桁の | 0 から 9 までの数字のシーケンス。 |
、 | カルチャ固有のグループ区切り記号。
style に NumberStyles.AllowThousands フラグが含まれている場合、provider で指定されたカルチャのグループ区切り記号を value に表示できます。 |
. | カルチャ固有の小数点記号。
provider で指定されたカルチャの小数点記号は、NumberStyles.AllowDecimalPoint フラグ style 含まれている場合 value に表示できます。 |
fractional_digits | 数字 0 の 1 つ以上の出現。 小数部の数字は、NumberStyles.AllowDecimalPoint フラグ style 含まれている場合にのみ、value に表示できます。 |
E | "e" または "E" 文字。値が指数 (指数) 表記で表されることを示します。
value パラメーターは、NumberStyles.AllowExponent フラグが含まれている場合 style 指数表記で数値を表すことができます。 |
exponential_digits | 0 から 9 までの数字のシーケンス。
value パラメーターは、NumberStyles.AllowExponent フラグが含まれている場合 style 指数表記で数値を表すことができます。 |
hexdigits を |
0 から f、または 0 から F までの 16 進数のシーケンス。 |
手記
s
で終了する NUL (U+0000) 文字は、style
引数の値に関係なく、解析操作では無視されます。
10 進数のみを含む文字列 (NumberStyles.None フラグに対応) は常に正常に解析されます。 残りの NumberStyles メンバーのほとんどは、この入力文字列に存在する可能性がありますが、存在する必要がない要素を制御します。 次の表は、個々の NumberStyles メンバーが、value
に存在する可能性がある要素に与える影響を示しています。
非複合 NumberStyles 値 |
数字に加えて値で許可される要素 |
---|---|
None | 10 進数のみ。 |
AllowDecimalPoint | 小数点 (.) および fractional_digits 要素。 ただし、fractional_digits は 1 つ以上の 0 桁のみで構成する必要があります。または、メソッドは false を返します。 |
AllowExponent | 指数表記を示す "e" または "E" 文字と、exponential_digits。
value 指数表記で数値を表す場合、0 以外の小数部を持つことはできません。 |
AllowLeadingWhite |
value の先頭にある ws 要素。 |
AllowTrailingWhite |
value の末尾にある ws 要素。 |
AllowLeadingSign | |
AllowTrailingSign | |
AllowParentheses | 符号、数値を囲むかっこの形式で要素に署名します。 |
AllowThousands | グループ区切り記号 (,) 要素。 |
AllowCurrencySymbol | currency ($) 要素。 |
Currency | すべての要素。 ただし、value は、指数表記で 16 進数または数値を表すことはできません。 |
Float | value パラメーターでは指数表記を使用することもできます。 |
Number | ws、符号、グループ区切り記号 (、)、および小数点 (.) 要素。 |
Any | すべての要素。 ただし、value は 16 進数を表すことはできません。 |
NumberStyles.AllowHexSpecifier フラグを使用する場合、value
は 16 進値である必要があります。 有効な 16 進数は、0 から 9、a から f、および A から F です。
style
に存在できる他のフラグは、NumberStyles.AllowLeadingWhite と NumberStyles.AllowTrailingWhiteだけです。 (NumberStyles 列挙型には、両方の空白フラグを含む複合スタイル (HexNumber) があります。
手記
value
が 16 進数の文字列表現である場合、16 進数として区別する装飾 (0x
や &h
など) を前に付けることはできません。 これにより、変換が失敗します。
provider
パラメーターは、IFormatProvider 実装です。 その GetFormat メソッドは、value
の形式に関するカルチャ固有の情報を提供する NumberFormatInfo オブジェクトを返します。
provider
パラメーターには、次のいずれかを指定できます。
書式設定情報を提供するカルチャを表す CultureInfo オブジェクト。 その GetFormat メソッドは、そのカルチャの数値書式情報を提供する NumberFormatInfo オブジェクトを返します。
数値書式情報を提供する NumberFormatInfo オブジェクト。 (GetFormat の実装はそれ自体を返すだけです)。
IFormatProviderを実装するカスタム オブジェクト。 その GetFormat メソッドは、書式設定情報を提供する NumberFormatInfo オブジェクトをインスタンス化して返します。
provider
が null
されている場合は、現在のカルチャの NumberFormatInfo オブジェクトが使用されます。
こちらもご覧ください
- Parse(String, NumberStyles, IFormatProvider)
- .NET での数値文字列の解析の
適用対象
.NET