Sdílet prostřednictvím


UInt64.Parse Metoda

Definice

Převede řetězcové vyjádření čísla na 64bitové celé číslo bez znaménka.

Přetížení

Name Description
Parse(String, NumberStyles, IFormatProvider)

Převede řetězcovou reprezentaci čísla v zadaném stylu a formátu specifickém pro jazykovou verzi na 64bitové celočíselné ekvivalenty.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Převede reprezentaci čísla v zadaném stylu a formátu specifickém pro jazykovou verzi na 64bitový celočíselnou ekvivalent.

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)

Parsuje rozsah znaků UTF-8 do hodnoty.

Parse(String, IFormatProvider)

Převede řetězcovou reprezentaci čísla v zadaném formátu specifickém pro jazykovou verzi na 64bitové celé číslo bez znaménka.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Parsuje rozsah znaků do hodnoty.

Parse(ReadOnlySpan<Byte>, IFormatProvider)

Parsuje rozsah znaků UTF-8 do hodnoty.

Parse(String)

Převede řetězcové vyjádření čísla na 64bitové celé číslo bez znaménka.

Parse(String, NumberStyles)

Převede řetězcovou reprezentaci čísla v zadaném stylu na 64bitový celočíselnou ekvivalent.

Parse(String, NumberStyles, IFormatProvider)

Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Alternativa odpovídající specifikaci CLS
System.Decimal.Parse(String)

Převede řetězcovou reprezentaci čísla v zadaném stylu a formátu specifickém pro jazykovou verzi na 64bitové celočíselné ekvivalenty.

public:
 static System::UInt64 Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public:
 static System::UInt64 Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider) = System::Numerics::INumberBase<System::UInt64>::Parse;
[System.CLSCompliant(false)]
public static ulong Parse(string s, System.Globalization.NumberStyles style, IFormatProvider provider);
public static ulong Parse(string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
[System.CLSCompliant(false)]
public static ulong Parse(string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> uint64
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> uint64
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As ULong

Parametry

s
String

Řetězec, který představuje číslo, které se má převést. Řetězec se interpretuje pomocí stylu určeného parametrem style .

style
NumberStyles

Bitová kombinace hodnot výčtu, která označuje prvky stylu, které mohou být přítomny v s. Typická hodnota, kterou je třeba zadat, je Integer.

provider
IFormatProvider

Objekt, který poskytuje informace o sformátování specifické pro jazykovou verzi .

Návraty

64bitové celé číslo bez znaménka odpovídající číslu zadanému v s.

Implementuje

Atributy

Výjimky

Parametr s je null.

style není NumberStyles hodnota.

-nebo-

style není kombinací AllowHexSpecifier a HexNumber hodnot.

Parametr s není ve formátu kompatibilním s style.

Parametr s představuje číslo menší než UInt64.MinValue nebo větší než UInt64.MaxValue.

-nebo-

s obsahuje nenulové desetinné číslice.

Příklady

Následující příklad používá metodu Parse(String, NumberStyles, IFormatProvider) k převodu různých řetězcových reprezentací čísel na 64bitové celočíselné hodnoty bez znaménka.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] cultureNames= { "en-US", "fr-FR" };
      NumberStyles[] styles= { NumberStyles.Integer,
                               NumberStyles.Integer | NumberStyles.AllowDecimalPoint };
      string[] values = { "170209", "+170209.0", "+170209,0", "-103214.00",
                                 "-103214,00", "104561.1", "104561,1" };
      
      // Parse strings using each culture
      foreach (string cultureName in cultureNames)
      {
         CultureInfo ci = new CultureInfo(cultureName);
         Console.WriteLine("Parsing strings using the {0} culture", 
                           ci.DisplayName);
         // Use each style.
         foreach (NumberStyles style in styles)
         {
            Console.WriteLine("   Style: {0}", style.ToString());
            // Parse each numeric string.
            foreach (string value in values)
            {
               try {
                  Console.WriteLine("      Converted '{0}' to {1}.", value,
                                    UInt64.Parse(value, style, ci));
               }
               catch (FormatException) {
                  Console.WriteLine("      Unable to parse '{0}'.", value);
               }      
               catch (OverflowException) {
                  Console.WriteLine("      '{0}' is out of range of the UInt64 type.",
                                    value);
               }
            }
         }
      }                                    
   }
}
// The example displays the following output:
//       Style: Integer
//          Converted '170209' to 170209.
//          Unable to parse '+170209.0'.
//          Unable to parse '+170209,0'.
//          Unable to parse '-103214.00'.
//          Unable to parse '-103214,00'.
//          Unable to parse '104561.1'.
//          Unable to parse '104561,1'.
//       Style: Integer, AllowDecimalPoint
//          Converted '170209' to 170209.
//          Converted '+170209.0' to 170209.
//          Unable to parse '+170209,0'.
//          '-103214.00' is out of range of the UInt64 type.
//          Unable to parse '-103214,00'.
//          '104561.1' is out of range of the UInt64 type.
//          Unable to parse '104561,1'.
//    Parsing strings using the French (France) culture
//       Style: Integer
//          Converted '170209' to 170209.
//          Unable to parse '+170209.0'.
//          Unable to parse '+170209,0'.
//          Unable to parse '-103214.00'.
//          Unable to parse '-103214,00'.
//          Unable to parse '104561.1'.
//          Unable to parse '104561,1'.
//       Style: Integer, AllowDecimalPoint
//          Converted '170209' to 170209.
//          Unable to parse '+170209.0'.
//          Converted '+170209,0' to 170209.
//          Unable to parse '-103214.00'.
//          '-103214,00' is out of range of the UInt64 type.
//          Unable to parse '104561.1'.
//          '104561,1' is out of range of the UInt64 type.
open System
open System.Globalization

let cultureNames = [| "en-US"; "fr-FR" |]
let styles = [| NumberStyles.Integer; NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint |]
let values = 
    [| "170209"; "+170209.0"; "+170209,0"; "-103214.00"
       "-103214,00"; "104561.1"; "104561,1" |]

// Parse strings using each culture
for cultureName in cultureNames do
    let ci = CultureInfo cultureName
    printfn $"Parsing strings using the {ci.DisplayName} culture"
    // Use each style.
    for style in styles do
        printfn $"   Style: {style}"
        // Parse each numeric string.
        for value in values do
            try
                printfn $"      Converted '{value}' to {UInt64.Parse(value, style, ci)}."
            with
            | :? FormatException ->
                printfn $"      Unable to parse '{value}'."
            | :? OverflowException ->
                printfn $"      '{value}' is out of range of the UInt64 type."
// The example displays the following output:
//       Style: Integer
//          Converted '170209' to 170209.
//          Unable to parse '+170209.0'.
//          Unable to parse '+170209,0'.
//          Unable to parse '-103214.00'.
//          Unable to parse '-103214,00'.
//          Unable to parse '104561.1'.
//          Unable to parse '104561,1'.
//       Style: Integer, AllowDecimalPoint
//          Converted '170209' to 170209.
//          Converted '+170209.0' to 170209.
//          Unable to parse '+170209,0'.
//          '-103214.00' is out of range of the UInt64 type.
//          Unable to parse '-103214,00'.
//          '104561.1' is out of range of the UInt64 type.
//          Unable to parse '104561,1'.
//    Parsing strings using the French (France) culture
//       Style: Integer
//          Converted '170209' to 170209.
//          Unable to parse '+170209.0'.
//          Unable to parse '+170209,0'.
//          Unable to parse '-103214.00'.
//          Unable to parse '-103214,00'.
//          Unable to parse '104561.1'.
//          Unable to parse '104561,1'.
//       Style: Integer, AllowDecimalPoint
//          Converted '170209' to 170209.
//          Unable to parse '+170209.0'.
//          Converted '+170209,0' to 170209.
//          Unable to parse '-103214.00'.
//          '-103214,00' is out of range of the UInt64 type.
//          Unable to parse '104561.1'.
//          '104561,1' is out of range of the UInt64 type.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "fr-FR" }
      Dim styles() As NumberStyles = { NumberStyles.Integer, _
                                       NumberStyles.Integer Or NumberStyles.AllowDecimalPoint }
      Dim values() As String = { "170209", "+170209.0", "+170209,0", "-103214.00", _
                                 "-103214,00", "104561.1", "104561,1" }
      
      ' Parse strings using each culture
      For Each cultureName As String In cultureNames
         Dim ci As New CultureInfo(cultureName)
         Console.WriteLine("Parsing strings using the {0} culture", ci.DisplayName)
         ' Use each style.
         For Each style As NumberStyles In styles
            Console.WriteLine("   Style: {0}", style.ToString())
            ' Parse each numeric string.
            For Each value As String In values
               Try
                  Console.WriteLine("      Converted '{0}' to {1}.", value, _
                                    UInt64.Parse(value, style, ci))
               Catch e As FormatException
                  Console.WriteLine("      Unable to parse '{0}'.", value)   
               Catch e As OverflowException
                  Console.WriteLine("      '{0}' is out of range of the UInt64 type.", _
                                    value)         
               End Try
            Next
         Next
      Next                                    
   End Sub
End Module
' The example displays the following output:
'       Style: Integer
'          Converted '170209' to 170209.
'          Unable to parse '+170209.0'.
'          Unable to parse '+170209,0'.
'          Unable to parse '-103214.00'.
'          Unable to parse '-103214,00'.
'          Unable to parse '104561.1'.
'          Unable to parse '104561,1'.
'       Style: Integer, AllowDecimalPoint
'          Converted '170209' to 170209.
'          Converted '+170209.0' to 170209.
'          Unable to parse '+170209,0'.
'          '-103214.00' is out of range of the UInt64 type.
'          Unable to parse '-103214,00'.
'          '104561.1' is out of range of the UInt64 type.
'          Unable to parse '104561,1'.
'    Parsing strings using the French (France) culture
'       Style: Integer
'          Converted '170209' to 170209.
'          Unable to parse '+170209.0'.
'          Unable to parse '+170209,0'.
'          Unable to parse '-103214.00'.
'          Unable to parse '-103214,00'.
'          Unable to parse '104561.1'.
'          Unable to parse '104561,1'.
'       Style: Integer, AllowDecimalPoint
'          Converted '170209' to 170209.
'          Unable to parse '+170209.0'.
'          Converted '+170209,0' to 170209.
'          Unable to parse '-103214.00'.
'          '-103214,00' is out of range of the UInt64 type.
'          Unable to parse '104561.1'.
'          '104561,1' is out of range of the UInt64 type.

Poznámky

Parametr style definuje prvky stylu (například prázdné znaky nebo symbol kladného nebo záporného znaménka), které jsou v parametru s povolené, aby operace analýzy byla úspěšná. Musí se jednat o kombinaci bitových příznaků z výčtu NumberStyles .

V závislosti na hodnotě styleparametru s může obsahovat následující prvky:

[ws][$][znaménko]digits[.fractional_digits][E[sign]exponential_digits][ws]

Prvky v hranatých závorkách ([ a ]) jsou volitelné. Pokud style tento parametr obsahuje NumberStyles.AllowHexSpecifier, s může obsahovat následující prvky:

[ws]hexdigits[ws]

Následující tabulka popisuje jednotlivé prvky.

Element Popis
Ws Volitelné prázdné znaky. Prázdné znaky se můžou objevit na začátku s , pokud style příznak obsahuje NumberStyles.AllowLeadingWhite , a může se zobrazit na konci s , pokud style příznak NumberStyles.AllowTrailingWhite obsahuje.
$ Symbol měny specifický pro jazykovou verzi. Jeho pozice v řetězci je definována CurrencyPositivePattern vlastností objektu NumberFormatInfo , který je vrácen GetFormat metodou parametru provider . Symbol měny se může zobrazit, s pokud style obsahuje NumberStyles.AllowCurrencySymbol příznak.
znaménko Volitelné znaménko. (Metoda vyvolá OverflowException hodnotu if s včetně záporného znaménka a představuje nenulové číslo.) Znaménko se může zobrazit na začátku s , pokud style příznak obsahuje NumberStyles.AllowLeadingSign , a může se zobrazit na konci příznaku s , pokud style příznak NumberStyles.AllowTrailingSign obsahuje. Závorky lze použít s k označení záporné hodnoty, pokud style obsahuje NumberStyles.AllowParentheses příznak.
Číslic Posloupnost číslic od 0 do 9.
. Symbol desetinné čárky specifické pro jazykovou verzi. Symbol desetinné čárky aktuální jazykové verze se může zobrazit, s pokud style příznak obsahuje NumberStyles.AllowDecimalPoint .
Fractional_digits Jeden nebo více výskytů číslice 0-9, pokud style obsahuje NumberStyles.AllowExponent příznak, nebo jeden nebo více výskytů číslice 0, pokud ne. Desetinná číslice se můžou zobrazovat s jenom v případě, že style příznak obsahuje NumberStyles.AllowDecimalPoint .
E Znak "e" nebo "E", který označuje, že hodnota je reprezentována exponenciálním (vědeckým) zápisem. Parametr s může představovat číslo v exponenciálním zápisustyle, pokud NumberStyles.AllowExponent obsahuje příznak.
exponential_digits Posloupnost číslic od 0 do 9. Parametr s může představovat číslo v exponenciálním zápisustyle, pokud NumberStyles.AllowExponent obsahuje příznak.
hexdigits Posloupnost šestnáctkových číslic od 0 do f nebo 0 až F.

Poznámka

Všechny ukončující nulové znaky (U+0000) jsou s ignorovány operací analýzy bez ohledu na hodnotu argumentu style .

Řetězec s desetinnými číslicemi (který odpovídá NumberStyles.None stylu) se vždy úspěšně parsuje. Většina zbývajících NumberStyles členů ovládacích prvků, které mohou být přítomny, ale nemusí být přítomny v tomto vstupním řetězci. Následující tabulka uvádí, jak jednotlivé NumberStyles členy ovlivňují prvky, které mohou být přítomny v s.

Neseparované NumberStyles hodnoty Prvky povolené s kromě číslic
NumberStyles.None Pouze desítkové číslice.
NumberStyles.AllowDecimalPoint Desetinná čárka (.) a fractional_digits elementy. Pokud však styl neobsahuje NumberStyles.AllowExponent příznak, fractional_digits se musí skládat pouze z jednoho nebo více 0 číslic; jinak OverflowException je vyvolán znak.
NumberStyles.AllowExponent Znak "e" nebo "E", který označuje exponenciální notaci spolu s exponential_digits.
NumberStyles.AllowLeadingWhite Element ws na začátku s.
NumberStyles.AllowTrailingWhite Prvek ws na konci .s
NumberStyles.AllowLeadingSign Znaménko před číslicemi.
NumberStyles.AllowTrailingSign Znaménko za číslicemi.
NumberStyles.AllowParentheses Závorky před a za číslicemi označují zápornou hodnotu.
NumberStyles.AllowThousands Element oddělovače skupin (,).
NumberStyles.AllowCurrencySymbol Prvek měny ($)

NumberStyles.AllowHexSpecifier Pokud se příznak použije, s musí být šestnáctková hodnota. Platné šestnáctkové znaky jsou 0-9, A-F a a-f. Předpona, například 0x, není podporována a způsobí selhání operace analýzy. Jediné ostatní příznaky, které lze kombinovat s ním jsou NumberStyles.AllowLeadingWhite a NumberStyles.AllowTrailingWhite. (Výčet NumberStyles obsahuje složený styl čísla, NumberStyles.HexNumberkterý obsahuje oba příznaky prázdných znaků.)

Poznámka

s Pokud je parametr řetězcovou reprezentací šestnáctkového čísla, nemůže mu předcházet žádná dekorace (například 0x nebo&h), která ji odlišuje jako šestnáctkové číslo. To způsobí, že operace analýzy vyvolá výjimku.

Parametr provider je IFormatProvider implementace, jejíž GetFormat metoda vrací NumberFormatInfo objekt, který poskytuje informace specifické pro jazykovou verzi o formátu s. Existují tři způsoby použití parametru provider k zadání vlastních informací o formátování do operace analýzy:

  • Můžete předat skutečný NumberFormatInfo objekt, který poskytuje informace o formátování. (Její implementace GetFormat jednoduše vrátí sama sebe.)

  • Můžete předat CultureInfo objekt, který určuje jazykovou verzi, jejíž formátování se má použít. Jeho NumberFormat vlastnost poskytuje informace o formátování.

  • Můžete předat vlastní IFormatProvider implementaci. Jeho GetFormat metoda musí vytvořit instanci a vrátit NumberFormatInfo objekt, který poskytuje informace o formátování.

Pokud provider ano null, NumberFormatInfo použije se objekt pro aktuální jazykovou verzi.

Viz také

Platí pro

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Převede reprezentaci čísla v zadaném stylu a formátu specifickém pro jazykovou verzi na 64bitový celočíselnou ekvivalent.

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

Parametry

s
ReadOnlySpan<Char>

Rozsah obsahující znaky, které představují číslo k převodu. Rozsah se interpretuje pomocí stylu určeného parametrem style .

style
NumberStyles

Bitová kombinace hodnot výčtu, která označuje prvky stylu, které mohou být přítomny v s. Typická hodnota, kterou je třeba zadat, je Integer.

provider
IFormatProvider

Objekt, který poskytuje informace o sformátování specifické pro jazykovou verzi .

Návraty

64bitové celé číslo bez znaménka odpovídající číslu zadanému v s.

Implementuje

Atributy

Platí pro

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)

Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs

Parsuje rozsah znaků UTF-8 do hodnoty.

public static ulong Parse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider -> uint64
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As ULong

Parametry

utf8Text
ReadOnlySpan<Byte>

Rozsah znaků UTF-8 pro analýzu.

style
NumberStyles

Bitová kombinace stylů čísel, které mohou být přítomny v utf8Text.

provider
IFormatProvider

Objekt, který poskytuje informace o utf8Textformátování specifické pro jazykovou verzi .

Návraty

Výsledek analýzy utf8Text.

Implementuje

Platí pro

Parse(String, IFormatProvider)

Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Alternativa odpovídající specifikaci CLS
System.Decimal.Parse(String)

Převede řetězcovou reprezentaci čísla v zadaném formátu specifickém pro jazykovou verzi na 64bitové celé číslo bez znaménka.

public:
 static System::UInt64 Parse(System::String ^ s, IFormatProvider ^ provider);
public:
 static System::UInt64 Parse(System::String ^ s, IFormatProvider ^ provider) = IParsable<System::UInt64>::Parse;
[System.CLSCompliant(false)]
public static ulong Parse(string s, IFormatProvider provider);
public static ulong Parse(string s, IFormatProvider? provider);
[System.CLSCompliant(false)]
public static ulong Parse(string s, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member Parse : string * IFormatProvider -> uint64
static member Parse : string * IFormatProvider -> uint64
Public Shared Function Parse (s As String, provider As IFormatProvider) As ULong

Parametry

s
String

Řetězec, který představuje číslo, které se má převést.

provider
IFormatProvider

Objekt, který poskytuje informace o sformátování specifické pro jazykovou verzi .

Návraty

64bitové celé číslo bez znaménka odpovídající číslu zadanému v s.

Implementuje

Atributy

Výjimky

Parametr s je null.

Parametr s není ve správném stylu.

Parametr s představuje číslo menší než UInt64.MinValue nebo větší než UInt64.MaxValue.

Příklady

Následující příklad je obslužná rutina události kliknutí na tlačítko webového formuláře. Používá pole vrácené HttpRequest.UserLanguages vlastností k určení národního prostředí uživatele. Potom vytvoří instanci objektu CultureInfo , který odpovídá danému národnímu prostředí. Objekt NumberFormatInfo , který patří do daného CultureInfo objektu Parse(String, IFormatProvider) , se pak předá metodě pro převod vstupu uživatele na UInt64 hodnotu.

protected void OkToSingle_Click(object sender, EventArgs e)
{
    string locale;
    float number;
    CultureInfo culture;

    // Return if string is empty
    if (String.IsNullOrEmpty(this.inputNumber.Text))
        return;

    // Get locale of web request to determine possible format of number
    if (Request.UserLanguages.Length == 0)
        return;
    locale = Request.UserLanguages[0];
    if (String.IsNullOrEmpty(locale))
        return;

    // Instantiate CultureInfo object for the user's locale
    culture = new CultureInfo(locale);

    // Convert user input from a string to a number
    try
    {
        number = Single.Parse(this.inputNumber.Text, culture.NumberFormat);
    }
    catch (FormatException)
    {
        return;
    }
    catch (Exception)
    {
        return;
    }
    // Output number to label on web form
    this.outputNumber.Text = "Number is " + number.ToString();
}
Protected Sub OkToSingle_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OkToSingle.Click
    Dim locale As String
    Dim culture As CultureInfo
    Dim number As Single

    ' Return if string is empty
    If String.IsNullOrEmpty(Me.inputNumber.Text) Then Exit Sub

    ' Get locale of web request to determine possible format of number
    If Request.UserLanguages.Length = 0 Then Exit Sub
    locale = Request.UserLanguages(0)
    If String.IsNullOrEmpty(locale) Then Exit Sub

    ' Instantiate CultureInfo object for the user's locale
    culture = New CultureInfo(locale)

    ' Convert user input from a string to a number
    Try
        number = Single.Parse(Me.inputNumber.Text, culture.NumberFormat)
    Catch ex As FormatException
        Exit Sub
    Catch ex As OverflowException
        Exit Sub
    End Try

    ' Output number to label on web form
    Me.outputNumber.Text = "Number is " & number.ToString()
End Sub

Poznámky

Toto přetížení metody se obvykle používá k převodu Parse(String, IFormatProvider) textu, který lze formátovat různými způsoby na UInt64 hodnotu. Dá se například použít k převodu textu zadaného uživatelem do textového pole HTML na číselnou hodnotu.

Parametr s obsahuje číslo formuláře:

[ws] [sign]digits[ws]

Položky v hranatých závorkách ([ a ]) jsou volitelné. Následující tabulka popisuje jednotlivé prvky.

Element Popis
Ws Volitelné prázdné znaky.
znaménko Volitelné kladné znaménko nebo záporné znaménko, pokud s představuje hodnotu nula.
Číslic Posloupnost číslic v rozsahu od 0 do 9

Parametr s se interpretuje pomocí NumberStyles.Integer stylu. Kromě desetinných číslic celé hodnoty bez znaménka je povoleno pouze počáteční a koncové mezery spolu s počátečním symbolem. (Pokud je přítomno záporné znaménko, s musí představovat hodnotu nula, nebo metoda vyvolá OverflowException.) Chcete-li explicitně definovat prvky stylu spolu s informacemi o formátování specifické pro jazykovou verzi, které mohou být přítomny v s, použijte metodu Parse(String, NumberStyles, IFormatProvider) .

Parametr provider je IFormatProvider implementace, jejíž GetFormat metoda vrací NumberFormatInfo objekt, který poskytuje informace specifické pro jazykovou verzi o formátu s. Existují tři způsoby použití parametru provider k zadání vlastních informací o formátování do operace analýzy:

  • Můžete předat skutečný NumberFormatInfo objekt, který poskytuje informace o formátování. (Její implementace GetFormat jednoduše vrátí sama sebe.)

  • Můžete předat CultureInfo objekt, který určuje jazykovou verzi, jejíž formátování se má použít. Jeho NumberFormat vlastnost poskytuje informace o formátování.

  • Můžete předat vlastní IFormatProvider implementaci. Jeho GetFormat metoda musí vytvořit instanci a vrátit NumberFormatInfo objekt, který poskytuje informace o formátování.

Pokud provider ano null, NumberFormatInfo použije se aktuální jazyková verze.

Viz také

Platí pro

Parse(ReadOnlySpan<Char>, IFormatProvider)

Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs

Parsuje rozsah znaků do hodnoty.

public:
 static System::UInt64 Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<System::UInt64>::Parse;
public static ulong Parse(ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> uint64
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As ULong

Parametry

s
ReadOnlySpan<Char>

Rozsah znaků, které se mají analyzovat.

provider
IFormatProvider

Objekt, který poskytuje informace o sformátování specifické pro jazykovou verzi .

Návraty

Výsledek analýzy s.

Implementuje

Platí pro

Parse(ReadOnlySpan<Byte>, IFormatProvider)

Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs

Parsuje rozsah znaků UTF-8 do hodnoty.

public:
 static System::UInt64 Parse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider) = IUtf8SpanParsable<System::UInt64>::Parse;
public static ulong Parse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);
static member Parse : ReadOnlySpan<byte> * IFormatProvider -> uint64
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider) As ULong

Parametry

utf8Text
ReadOnlySpan<Byte>

Rozsah znaků UTF-8 pro analýzu.

provider
IFormatProvider

Objekt, který poskytuje informace o utf8Textformátování specifické pro jazykovou verzi .

Návraty

Výsledek analýzy utf8Text.

Implementuje

Platí pro

Parse(String)

Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Alternativa odpovídající specifikaci CLS
System.Decimal.Parse(String)

Převede řetězcové vyjádření čísla na 64bitové celé číslo bez znaménka.

public:
 static System::UInt64 Parse(System::String ^ s);
[System.CLSCompliant(false)]
public static ulong Parse(string s);
public static ulong Parse(string s);
[<System.CLSCompliant(false)>]
static member Parse : string -> uint64
static member Parse : string -> uint64
Public Shared Function Parse (s As String) As ULong

Parametry

s
String

Řetězec, který představuje číslo, které se má převést.

Návraty

64bitové celé číslo bez znaménka odpovídající číslu obsaženému v s.

Atributy

Výjimky

Parametr s je null.

Parametr s není ve správném formátu.

Parametr s představuje číslo menší než UInt64.MinValue nebo větší než UInt64.MaxValue.

Příklady

Následující příklad používá metodu Parse k analýze pole řetězcových hodnot.

string[] values = { "+13230", "-0", "1,390,146", "$190,235,421,127",
                    "0xFA1B", "163042", "-10", "14065839182",
                    "16e07", "134985.0", "-12034" };
foreach (string value in values)
{
   try {
      ulong number = UInt64.Parse(value); 
      Console.WriteLine("{0} --> {1}", value, number);
   }
   catch (FormatException) {
      Console.WriteLine("{0}: Bad Format", value);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0}: Overflow", value);   
   }  
}
// The example displays the following output:
//       +13230 --> 13230
//       -0 --> 0
//       1,390,146: Bad Format
//       $190,235,421,127: Bad Format
//       0xFA1B: Bad Format
//       163042 --> 163042
//       -10: Overflow
//       14065839182 --> 14065839182
//       16e07: Bad Format
//       134985.0: Bad Format
//       -12034: Overflow
let values = 
    [| "+13230"; "-0"; "1,390,146"; "$190,235,421,127"
       "0xFA1B"; "163042"; "-10"; "14065839182"
       "16e07"; "134985.0"; "-12034" |]
for value in values do
    try 
        let number = UInt64.Parse value 
        printfn $"{value} --> {number}"
    with
    | :? FormatException ->
        printfn $"{value}: Bad Format"
    | :? OverflowException ->
        printfn $"{value}: Overflow"
// The example displays the following output:
//       +13230 --> 13230
//       -0 --> 0
//       1,390,146: Bad Format
//       $190,235,421,127: Bad Format
//       0xFA1B: Bad Format
//       163042 --> 163042
//       -10: Overflow
//       14065839182 --> 14065839182
//       16e07: Bad Format
//       134985.0: Bad Format
//       -12034: Overflow
Dim values() As String = { "+13230", "-0", "1,390,146", "$190,235,421,127", _
                           "0xFA1B", "163042", "-10", "14065839182", _
                           "16e07", "134985.0", "-12034" }
For Each value As String In values
   Try
      Dim number As ULong = UInt64.Parse(value) 
      Console.WriteLine("{0} --> {1}", value, number)
   Catch e As FormatException
      Console.WriteLine("{0}: Bad Format", value)
   Catch e As OverflowException
      Console.WriteLine("{0}: Overflow", value)   
   End Try  
Next
' The example displays the following output:
'       +13230 --> 13230
'       -0 --> 0
'       1,390,146: Bad Format
'       $190,235,421,127: Bad Format
'       0xFA1B: Bad Format
'       163042 --> 163042
'       -10: Overflow
'       14065839182 --> 14065839182
'       16e07: Bad Format
'       134985.0: Bad Format
'       -12034: Overflow

Poznámky

Parametr s by měl být řetězcovou reprezentací čísla v následujícím formátu.

[ws][znaménko]digits[ws]

Prvky v hranatých závorkách ([ a ]) jsou volitelné. Následující tabulka popisuje jednotlivé prvky.

Element Popis
Ws Volitelné prázdné znaky.
znaménko Volitelné znaménko. Platné znaky znaménka jsou určeny vlastnostmi NumberFormatInfo.NegativeSignNumberFormatInfo.PositiveSign aktuální jazykové verze. Symbol záporného znaménka však lze použít pouze s nulou; jinak metoda vyvolá .OverflowException
Číslic Posloupnost číslic v rozsahu od 0 do 9 Všechny počáteční nuly se ignorují.

Poznámka

Řetězec určený s parametrem je interpretován pomocí NumberStyles.Integer stylu. Nesmí obsahovat žádné oddělovače skupin ani oddělovač desetinných míst a nesmí obsahovat desetinnou část.

Parametr s je analyzován pomocí informací o formátování v objektu System.Globalization.NumberFormatInfo , který je inicializován pro aktuální systémovou jazykovou verzi. Další informace najdete na webu NumberFormatInfo.CurrentInfo. K analýze řetězce pomocí formátování informací o konkrétní jazykové verzi použijte metodu Parse(String, IFormatProvider) .

Viz také

Platí pro

Parse(String, NumberStyles)

Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs
Zdroj:
UInt64.cs

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Alternativa odpovídající specifikaci CLS
System.Decimal.Parse(String)

Převede řetězcovou reprezentaci čísla v zadaném stylu na 64bitový celočíselnou ekvivalent.

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

Parametry

s
String

Řetězec, který představuje číslo, které se má převést. Řetězec se interpretuje pomocí stylu určeného parametrem style .

style
NumberStyles

Bitová kombinace hodnot výčtu, která určuje povolený formát s. Typická hodnota, kterou je třeba zadat, je Integer.

Návraty

64bitové celé číslo bez znaménka odpovídající číslu zadanému v s.

Atributy

Výjimky

Parametr s je null.

style není NumberStyles hodnota.

-nebo-

style není kombinací AllowHexSpecifier a HexNumber hodnot.

Parametr s není ve formátu kompatibilním s style.

Parametr s představuje číslo menší než UInt64.MinValue nebo větší než UInt64.MaxValue.

-nebo-

s obsahuje nenulové desetinné číslice.

Příklady

Následující příklad se pokusí analyzovat každý prvek v řetězcové matici pomocí počtu NumberStyles hodnot.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values= { " 214309 ", "1,064,181", "(0)", "10241+", " + 21499 ", 
                         " +21499 ", "122153.00", "1e03ff", "91300.0e-2" };
      NumberStyles whitespace =  NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite;
      NumberStyles[] styles= { NumberStyles.None, whitespace, 
                               NumberStyles.AllowLeadingSign | NumberStyles.AllowTrailingSign | whitespace, 
                               NumberStyles.AllowThousands | NumberStyles.AllowCurrencySymbol, 
                               NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint };

      // Attempt to convert each number using each style combination.
      foreach (string value in values)
      {
         Console.WriteLine("Attempting to convert '{0}':", value);
         foreach (NumberStyles style in styles)
         {
            try {
               ulong number = UInt64.Parse(value, style);
               Console.WriteLine("   {0}: {1}", style, number);
            }   
            catch (FormatException) {
               Console.WriteLine("   {0}: Bad Format", style);
            }   
            catch (OverflowException)
            {
               Console.WriteLine("   {0}: Overflow", value);         
            }         
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Attempting to convert ' 214309 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: 214309
//       Integer, AllowTrailingSign: 214309
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1,064,181':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: 1064181
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '(0)':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '10241+':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 10241
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' + 21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' +21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 21499
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '122153.00':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 122153
//    
//    Attempting to convert '1e03ff':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '91300.0e-2':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 913
open System
open System.Globalization

let values =
    [| " 214309 "; "1,064,181"; "(0)"; "10241+"; " + 21499 " 
       " +21499 "; "122153.00"; "1e03ff"; "91300.0e-2" |]
let whitespace =  NumberStyles.AllowLeadingWhite ||| NumberStyles.AllowTrailingWhite
let styles =
    [| NumberStyles.None; whitespace 
       NumberStyles.AllowLeadingSign ||| NumberStyles.AllowTrailingSign ||| whitespace 
       NumberStyles.AllowThousands ||| NumberStyles.AllowCurrencySymbol 
       NumberStyles.AllowExponent ||| NumberStyles.AllowDecimalPoint |]

// Attempt to convert each number using each style combination.
for value in values do
    printfn $"Attempting to convert '{value}':"
    for style in styles do
        try
            let number = UInt64.Parse(value, style)
            printfn $"   {style}: {number}"
        with
        | :? FormatException ->
            printfn $"   {style}: Bad Format"
        | :? OverflowException ->
            printfn $"   {value}: Overflow"
    printfn ""
// The example displays the following output:
//    Attempting to convert ' 214309 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: 214309
//       Integer, AllowTrailingSign: 214309
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1,064,181':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: 1064181
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '(0)':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '10241+':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 10241
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' + 21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' +21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 21499
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '122153.00':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 122153
//    
//    Attempting to convert '1e03ff':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '91300.0e-2':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 913
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim values() As String = { " 214309 ", "1,064,181", "(0)", "10241+", _
                                 " + 21499 ", " +21499 ", "122153.00", _
                                 "1e03ff", "91300.0e-2" }
      Dim whitespace As NumberStyles =  NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite
      Dim styles() As NumberStyles = { NumberStyles.None, _
                                       whitespace, _
                                       NumberStyles.AllowLeadingSign Or NumberStyles.AllowTrailingSign Or whitespace, _
                                       NumberStyles.AllowThousands Or NumberStyles.AllowCurrencySymbol, _
                                       NumberStyles.AllowExponent Or NumberStyles.AllowDecimalPoint }

      ' Attempt to convert each number using each style combination.
      For Each value As String In values
         Console.WriteLine("Attempting to convert '{0}':", value)
         For Each style As NumberStyles In styles
            Try
               Dim number As ULong = UInt64.Parse(value, style)
               Console.WriteLine("   {0}: {1}", style, number)
            Catch e As FormatException
               Console.WriteLine("   {0}: Bad Format", style)
            Catch e As OverflowException
               Console.WriteLine("   {0}: Overflow", value)         
            End Try         
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
' The example displays the following output:
'    Attempting to convert ' 214309 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: 214309
'       Integer, AllowTrailingSign: 214309
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '1,064,181':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: 1064181
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '(0)':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '10241+':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 10241
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' + 21499 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' +21499 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 21499
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '122153.00':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 122153
'    
'    Attempting to convert '1e03ff':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '91300.0e-2':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 913

Poznámky

Parametr style definuje prvky stylu (například prázdné znaky, symbol kladného nebo záporného znaménka, symbol oddělovače skupin nebo symbol desetinné čárky), které jsou v parametru s povolené pro úspěšnou operaci analýzy. style musí být kombinací bitových příznaků z výčtu NumberStyles . Parametr style tuto metodu přetíží, pokud s obsahuje řetězcovou reprezentaci šestnáctkové hodnoty, když číselný systém (desítkový nebo šestnáctkový) reprezentovaný s je znám pouze za běhu, nebo pokud chcete zakázat prázdné znaky nebo symbol znaku .s

V závislosti na hodnotě styleparametru s může obsahovat následující prvky:

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

Prvky v hranatých závorkách ([ a ]) jsou volitelné. Pokud style obsahuje NumberStyles.AllowHexSpecifierparametr, s může obsahovat následující prvky:

[ws]hexdigits[ws]

Následující tabulka popisuje jednotlivé prvky.

Element Popis
Ws Volitelné prázdné znaky. Prázdné znaky se můžou zobrazit na začátku s , pokud style příznak obsahuje NumberStyles.AllowLeadingWhite , a může se zobrazit na konci s , pokud style příznak NumberStyles.AllowTrailingWhite obsahuje.
$ Symbol měny specifický pro jazykovou verzi. Jeho pozice v řetězci je definována vlastnostmi NumberFormatInfo.CurrencyNegativePatternNumberFormatInfo.CurrencyPositivePattern aktuální jazykové verze. Symbol měny aktuální jazykové verze se může zobrazit v s případě, že style obsahuje NumberStyles.AllowCurrencySymbol příznak.
znaménko Volitelné znaménko. Znaménko se může zobrazit na začátku s , pokud style příznak obsahuje NumberStyles.AllowLeadingSign , a může se zobrazit na konci s , pokud style příznak NumberStyles.AllowTrailingSign obsahuje. Závorky lze použít s k označení záporné hodnoty, pokud style obsahuje NumberStyles.AllowParentheses příznak. Symbol záporného znaménka však lze použít pouze s nulou; jinak metoda vyvolá .OverflowException
Číslic

Fractional_digits

exponential_digits
Posloupnost číslic od 0 do 9. Pro fractional_digits je platná pouze číslice 0.
, Symbol oddělovače skupin specifických pro jazykovou verzi. Oddělovač skupin aktuální jazykové verze se může zobrazit, s pokud style příznak NumberStyles.AllowThousands obsahuje.
. Symbol desetinné čárky specifické pro jazykovou verzi. Symbol desetinné čárky aktuální jazykové verze se může zobrazit, s pokud style příznak obsahuje NumberStyles.AllowDecimalPoint . Pouze číslice 0 se může zobrazit jako desetinná číslice pro úspěšnou operaci analýzy; pokud fractional_digits obsahuje jakoukoli jinou FormatException číslici, vyvolá se znak.
E Znak "e" nebo "E", který označuje, že hodnota je reprezentována exponenciálním (vědeckým) zápisem. Parametr s může představovat číslo v exponenciálním zápisustyle, pokud NumberStyles.AllowExponent obsahuje příznak.
hexdigits Posloupnost šestnáctkových číslic od 0 do f nebo 0 až F.

Poznámka

Všechny ukončující nulové znaky (U+0000) jsou s ignorovány operací analýzy bez ohledu na hodnotu argumentu style .

Řetězec s číslicemi (který odpovídá NumberStyles.None stylu) se vždy úspěšně parsuje, pokud je v rozsahu UInt64 typu. Většina zbývajících NumberStyles členů ovládacích prvků, které mohou být přítomny, ale nemusí být přítomny ve vstupním řetězci. Následující tabulka uvádí, jak jednotlivé NumberStyles členy ovlivňují prvky, které mohou být přítomny v s.

NumberStyles hodnota Prvky povolené s kromě číslic
None Pouze prvek číslic .
AllowDecimalPoint Prvky desetinné čárky (.) a desetinné čárky .
AllowExponent Znak "e" nebo "E", který označuje exponenciální notaci spolu s exponential_digits.
AllowLeadingWhite Prvek ws na začátku .s
AllowTrailingWhite Prvek ws na konci .s
AllowLeadingSign Prvek znaménka na začátku znaku s.
AllowTrailingSign Prvek znaménka na konci znaku s.
AllowParentheses Prvek znaménka ve formě závorek ohraničující číselnou hodnotu.
AllowThousands Element oddělovače skupin (,).
AllowCurrencySymbol Prvek měny ($).
Currency Všechny prvky. s Nelze však reprezentovat šestnáctkové číslo nebo číslo v exponenciálním zápisu.
Float Prvek ws na začátku nebo s, na začátku sznaku a desetinné čárky (.) symbol. Parametr s může také použít exponenciální zápis.
Number Prvky ws, signoddělovač skupin (,) a desetinná čárka (.).
Any Všechny prvky. s Nelze však reprezentovat šestnáctkové číslo.

Na rozdíl od ostatních NumberStyles hodnot, které umožňují, ale nevyžadují, přítomnost určitých prvků stylu v s, NumberStyles.AllowHexSpecifier hodnota stylu znamená, že jednotlivé číselné znaky jsou s vždy interpretovány jako šestnáctkové znaky. Platné šestnáctkové znaky jsou 0-9, A-F a a-f. Předpona, například 0x, není podporována a způsobí selhání operace analýzy. Jedinými dalšími příznaky, které lze kombinovat s parametrem style , jsou NumberStyles.AllowLeadingWhite a NumberStyles.AllowTrailingWhite. (Výčet NumberStyles obsahuje složený styl čísla, NumberStyles.HexNumberkterý obsahuje oba příznaky prázdných znaků.)

Poznámka

Pokud s je řetězcová reprezentace šestnáctkového čísla, nemůže jí předcházet žádná dekorace (například 0x nebo &h), která ji odlišuje jako šestnáctkové číslo. To způsobí selhání převodu.

Parametr s je analyzován pomocí informací o formátování v objektu NumberFormatInfo , který je inicializován pro aktuální systémovou jazykovou verzi. Chcete-li určit jazykovou verzi, jejíž informace formátování se používají pro operaci analýzy, zavolejte Parse(String, NumberStyles, IFormatProvider) přetížení.

Viz také

Platí pro