Decimal.Parse Methode

Definitie

Converteert de tekenreeksweergave van een getal naar het Decimal equivalent ervan.

Overloads

Name Description
Parse(String)

Converteert de tekenreeksweergave van een getal naar het Decimal equivalent ervan.

Parse(ReadOnlySpan<Byte>, IFormatProvider)

Parseert een reeks UTF-8 tekens in een waarde.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Parseert een reeks tekens in een waarde.

Parse(String, NumberStyles)

Converteert de tekenreeksweergave van een getal in een opgegeven stijl naar het Decimal equivalent ervan.

Parse(String, IFormatProvider)

Converteert de tekenreeksweergave van een getal naar het Decimal equivalent ervan met behulp van de opgegeven cultuurspecifieke notatiegegevens.

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)

Parseert een reeks UTF-8 tekens in een waarde.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Converteert de spanweergave van een getal naar Decimal het equivalent ervan met behulp van de opgegeven stijl en cultuurspecifieke notatie.

Parse(String, NumberStyles, IFormatProvider)

Converteert de tekenreeksweergave van een getal naar het Decimal equivalent ervan met behulp van de opgegeven stijl en cultuurspecifieke notatie.

Parse(String)

Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs

Converteert de tekenreeksweergave van een getal naar het Decimal equivalent ervan.

public:
 static System::Decimal Parse(System::String ^ s);
public static decimal Parse(string s);
static member Parse : string -> decimal
Public Shared Function Parse (s As String) As Decimal

Parameters

s
String

De tekenreeksweergave van het getal dat moet worden geconverteerd.

Retouren

Het equivalent van het getal in s.

Uitzonderingen

s heeft niet de juiste indeling.

s vertegenwoordigt een getal kleiner dan Decimal.MinValue of groter dan Decimal.MaxValue.

Voorbeelden

In het volgende codevoorbeeld wordt de Parse(String) methode gebruikt om tekenreeksweergaven van Decimal waarden te parseren.

string value;
decimal number;
// Parse an integer with thousands separators.
value = "16,523,421";
number = Decimal.Parse(value);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '16,523,421' converted to 16523421.

// Parse a floating point value with thousands separators
value = "25,162.1378";
number = Decimal.Parse(value);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '25,162.1378' converted to 25162.1378.

// Parse a floating point number with US currency symbol.
value = "$16,321,421.75";
try
{
   number = Decimal.Parse(value);
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
//    Unable to parse '$16,321,421.75'.

// Parse a number in exponential notation
value = "1.62345e-02";
try
{
   number = Decimal.Parse(value);
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
//    Unable to parse '1.62345e-02'.
// Parse an integer with thousands separators.
let value = "16,523,421"
let number = Decimal.Parse value
printfn $"'{value}' converted to {number}."
// Displays:
//    '16,523,421' converted to 16523421.

// Parse a floating point value with thousands separators
let value = "25,162.1378"
let number = Decimal.Parse value
printfn $"'{value}' converted to {number}."
// Displays:
//    '25,162.1378' converted to 25162.1378.

// Parse a floating point number with US currency symbol.
let value = "$16,321,421.75"
try
    let number = Decimal.Parse value
    printfn $"'{value}' converted to {number}."
with :? FormatException ->
    printfn $"Unable to parse '{value}'."
// Displays:
//    Unable to parse '$16,321,421.75'.

// Parse a number in exponential notation
let value = "1.62345e-02"
try
    let number = Decimal.Parse value
    printfn $"'{value}' converted to {number}."
with :? FormatException ->
    printfn $"Unable to parse '{value}'."
// Displays:
//    Unable to parse '1.62345e-02'.
Dim value As String
Dim number As Decimal

' Parse an integer with thousands separators. 
value = "16,523,421"
number = Decimal.Parse(value)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays: 
'    '16,523,421' converted to 16523421.

' Parse a floating point value with thousands separators
value = "25,162.1378"
number = Decimal.Parse(value)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
'    '25,162.1378' converted to 25162.1378.

' Parse a floating point number with US currency symbol.
value = "$16,321,421.75"
Try
   number = Decimal.Parse(value)
   Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
   Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays:
'    Unable to parse '$16,321,421.75'.  

' Parse a number in exponential notation
value = "1.62345e-02"
Try
   number = Decimal.Parse(value)
   Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
   Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays: 
'    Unable to parse '1.62345e-02'.

Opmerkingen

De parameter s bevat een getal van het formulier:

[ws][teken][cijfers,]digits[.fractional-digits][ws]

Elementen in vierkante haken ([ en ]) zijn optioneel. In de volgende tabel wordt elk element beschreven.

Element Beschrijving
Ws Optionele witruimte.
ondertekenen Een optioneel teken.
Cijfers Een reeks cijfers tussen 0 en 9.
, Een cultuurspecifiek scheidingsteken voor duizendtallen.
. Een cultuurspecifiek decimaalteken.
fractionele cijfers Een reeks cijfers tussen 0 en 9.

Parameter s wordt geïnterpreteerd met behulp van de NumberStyles.Number stijl. Dit betekent dat witruimte en scheidingstekens voor duizendtallen zijn toegestaan, maar valutasymbolen niet. Als u de elementen (zoals valutasymbolen, scheidingstekens voor duizendtallen en witruimte) expliciet wilt definiëren, sgebruikt u de Decimal.Parse(String, NumberStyles) of de Decimal.Parse(String, NumberStyles, IFormatProvider) methode.

De parameter s wordt geparseerd met behulp van de opmaakgegevens in een NumberFormatInfo geïnitialiseerde voor de huidige systeemcultuur. Zie CurrentInfo voor meer informatie. Als u een tekenreeks wilt parseren met behulp van de opmaakgegevens van een andere cultuur, gebruikt u de Decimal.Parse(String, IFormatProvider) of Decimal.Parse(String, NumberStyles, IFormatProvider) methode.

Indien nodig wordt de waarde afgerond s met afronding naar het dichtstbijzijnde.

A Decimal heeft 29 cijfers precisie. Als s dit een getal vertegenwoordigt dat meer dan 29 cijfers heeft, maar een breukdeel heeft en zich binnen het bereik van MaxValue en MinValuebevindt, wordt het getal afgerond, niet afgekapt, tot 29 cijfers met afronding naar het dichtstbijzijnde.

Als tijdens een parseringsbewerking een scheidingsteken wordt aangetroffen in de s parameter en de toepasselijke valuta- of getaldecimaaltekens en groepsscheidingstekens hetzelfde zijn, wordt bij de parseringsbewerking ervan uitgegaan dat het scheidingsteken een decimaalteken is in plaats van een scheidingsteken voor groepen. Zie , CurrencyDecimalSeparator, en NumberDecimalSeparatorCurrencyGroupSeparatorvoor meer informatie over scheidingstekens NumberGroupSeparator.

Zie ook

Van toepassing op

Parse(ReadOnlySpan<Byte>, IFormatProvider)

Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs

Parseert een reeks UTF-8 tekens in een waarde.

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

Parameters

utf8Text
ReadOnlySpan<Byte>

Het bereik van UTF-8 tekens om te parseren.

provider
IFormatProvider

Een object dat cultuurspecifieke opmaakinformatie biedt over utf8Text.

Retouren

Het resultaat van parseren utf8Text.

Implementeringen

Van toepassing op

Parse(ReadOnlySpan<Char>, IFormatProvider)

Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs

Parseert een reeks tekens in een waarde.

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

Parameters

s
ReadOnlySpan<Char>

De reeks tekens die moeten worden geparseerd.

provider
IFormatProvider

Een object dat cultuurspecifieke opmaakinformatie biedt over s.

Retouren

Het resultaat van parseren s.

Implementeringen

Van toepassing op

Parse(String, NumberStyles)

Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs

Converteert de tekenreeksweergave van een getal in een opgegeven stijl naar het Decimal equivalent ervan.

public:
 static System::Decimal Parse(System::String ^ s, System::Globalization::NumberStyles style);
public static decimal Parse(string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> decimal
Public Shared Function Parse (s As String, style As NumberStyles) As Decimal

Parameters

s
String

De tekenreeksweergave van het getal dat moet worden geconverteerd.

style
NumberStyles

Een bitsgewijze combinatie van NumberStyles waarden die de stijlelementen aangeeft die aanwezig kunnen zijn in s. Een typische waarde die moet worden opgegeven, is Number.

Retouren

Het Decimal getal dat gelijk is aan het getal dat is opgenomen in s zoals opgegeven door style.

Uitzonderingen

style is geen NumberStyles waarde.

– of –

style is de AllowHexSpecifier waarde.

s heeft niet de juiste indeling.

s vertegenwoordigt een getal kleiner dan Decimal.MinValue of groter dan Decimal.MaxValue

Voorbeelden

In het volgende codevoorbeeld wordt de Parse(String, NumberStyles) methode gebruikt om de tekenreeksweergaven van waarden te parseren met behulp van Decimal de en-US cultuur.

string value;
decimal number;
NumberStyles style;

// Parse string with a floating point value using NumberStyles.None.
value = "8694.12";
style = NumberStyles.None;
try
{
   number = Decimal.Parse(value, style);
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
//    Unable to parse '8694.12'.

// Parse string with a floating point value and allow decimal point.
style = NumberStyles.AllowDecimalPoint;
number = Decimal.Parse(value, style);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '8694.12' converted to 8694.12.

// Parse string with negative value in parentheses
value = "(1,789.34)";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands |
        NumberStyles.AllowParentheses;
number = Decimal.Parse(value, style);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '(1,789.34)' converted to -1789.34.

// Parse string using Number style
value = " -17,623.49 ";
style = NumberStyles.Number;
number = Decimal.Parse(value, style);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    ' -17,623.49 ' converted to -17623.49.
// Parse string with a floating point value using NumberStyles.None.
let value = "8694.12"
let style = NumberStyles.None
try
    let number = Decimal.Parse(value, style)
    printfn $"'{value}' converted to {number}."
with :? FormatException ->
    printfn $"Unable to parse '{value}'."
// Displays:
//    Unable to parse '8694.12'.

// Parse string with a floating point value and allow decimal point.
let style = NumberStyles.AllowDecimalPoint
let number = Decimal.Parse(value, style)
printfn $"'{value}' converted to {number}."
// Displays:
//    '8694.12' converted to 8694.12.

// Parse string with negative value in parentheses
let value = "(1,789.34)"
let style = 
    NumberStyles.AllowDecimalPoint ||| 
    NumberStyles.AllowThousands ||| 
    NumberStyles.AllowParentheses
let number = Decimal.Parse(value, style)
printfn $"'{value}' converted to {number}."
// Displays:
//    '(1,789.34)' converted to -1789.34.

// Parse string using Number style
let value = " -17,623.49 "
let style = NumberStyles.Number
let number = Decimal.Parse(value, style)
printfn $"'{value}' converted to {number}."
// Displays:
//    ' -17,623.49 ' converted to -17623.49.
Dim value As String
Dim number As Decimal
Dim style As NumberStyles

' Parse string with a floating point value using NumberStyles.None. 
value = "8694.12"
style = NumberStyles.None
Try
   number = Decimal.Parse(value, style)  
   Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
   Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays:
'    Unable to parse '8694.12'.

' Parse string with a floating point value and allow decimal point. 
style = NumberStyles.AllowDecimalPoint
number = Decimal.Parse(value, style)  
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
'    '8694.12' converted to 8694.12.

' Parse string with negative value in parentheses
value = "(1,789.34)"
style = NumberStyles.AllowDecimalPoint Or NumberStyles.AllowThousands Or _
        NumberStyles.AllowParentheses 
number = Decimal.Parse(value, style)  
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
'    '(1,789.34)' converted to -1789.34.

' Parse string using Number style
value = " -17,623.49 "
style = NumberStyles.Number
number = Decimal.Parse(value, style)  
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
'    ' -17,623.49 ' converted to -17623.49.

Opmerkingen

De style parameter definieert de stijlelementen (zoals scheidingstekens voor duizendtallen, witruimte en valutasymbolen) die zijn toegestaan in de s parameter om de parseringsbewerking te laten slagen. Dit moet een combinatie zijn van bitvlagmen uit de NumberStyles opsomming. De volgende NumberStyles leden worden niet ondersteund:

Afhankelijk van de waarde van style, kan de s parameter de volgende elementen bevatten:

[ws][$][teken][cijfers;]digits[.fractional-digits][e[sign]digits][ws]

Elementen in vierkante haken ([ en ]) zijn optioneel. In de volgende tabel wordt elk element beschreven.

Element Beschrijving
Ws Optionele witruimte. Witruimte kan aan het begin van s de styleNumberStyles.AllowLeadingWhite vlag worden weergegeven en deze kan aan het einde van s de styleNumberStyles.AllowTrailingWhite vlag worden weergegeven.
$ Een cultuurspecifiek valutasymbool. De positie in de tekenreeks wordt gedefinieerd door de NumberFormatInfo.CurrencyNegativePattern en NumberFormatInfo.CurrencyPositivePattern eigenschappen van de huidige cultuur. Het valutasymbool van de huidige cultuur kan worden weergegeven als sstyle deze de NumberStyles.AllowCurrencySymbol vlag bevat.
ondertekenen Een optioneel teken. Het teken kan aan het begin van s de styleNumberStyles.AllowLeadingSign vlag worden weergegeven en kan aan het einde van s de vlag worden weergegeven.styleNumberStyles.AllowTrailingSign Haakjes kunnen worden gebruikt s om een negatieve waarde aan te geven als style deze de NumberStyles.AllowParentheses vlag bevat.
Cijfers Een reeks cijfers tussen 0 en 9.
, Een cultuurspecifiek scheidingsteken voor duizendtallen. Het scheidingsteken voor duizendtallen van de huidige cultuur kan worden weergegeven s als style deze de NumberStyles.AllowThousands vlag bevat.
. Een cultuurspecifiek decimaalteken. Het decimale puntsymbool van de huidige cultuur kan worden weergegeven s als style deze de NumberStyles.AllowDecimalPoint vlag bevat.
fractionele cijfers Een reeks cijfers tussen 0 en 9. Fractionele cijfers kunnen alleen worden weergegeven als sstyle de NumberStyles.AllowDecimalPoint vlag wordt opgenomen.
e Het teken e of E, dat aangeeft dat de waarde wordt weergegeven in exponentiële notatie. De s parameter kan een getal in exponentiële notatie vertegenwoordigen als style deze de NumberStyles.AllowExponent vlag bevat.

Note

Alle nultekens (U+0000) s worden genegeerd door de parseringsbewerking, ongeacht de waarde van het style argument.

Een tekenreeks met alleen cijfers (die overeenkomt met de None stijl) parseert altijd goed als deze zich in het bereik van het Decimal type bevindt. De overige NumberStyles leden bepalen elementen die mogelijk wel maar niet aanwezig zijn in de invoertekenreeks. De volgende tabel geeft aan hoe afzonderlijke NumberStyles leden van invloed zijn op de elementen die aanwezig kunnen zijn in s.

NumberStyles-waarde Elementen die naast cijfers zijn toegestaan
None Alleen het cijferelement .
AllowDecimalPoint De elementen . en fractionele cijfers .
AllowExponent De s parameter kan ook exponentiële notatie gebruiken. Deze vlag ondersteunt waarden in deformuliercijfers E-cijfers; er zijn extra vlaggen nodig om tekenreeksen te parseren met elementen zoals positieve of negatieve tekens en decimale kommasymbolen.
AllowLeadingWhite Het ws-element aan het begin van s.
AllowTrailingWhite Het ws-element aan het einde van s.
AllowLeadingSign Het tekenelement aan het begin van s.
AllowTrailingSign Het tekenelement aan het einde van s.
AllowParentheses Het tekenelement in de vorm van haakjes tussen de numerieke waarde.
AllowThousands Het , element.
AllowCurrencySymbol Het $ element.
Currency Alles. De s parameter kan geen hexadecimaal getal of een getal in exponentiële notatie vertegenwoordigen.
Float Het ws-element aan het begin of einde van s, teken aan het begin van sen het . symbool. De s parameter kan ook exponentiële notatie gebruiken.
Number De ws, sign, en . elementen.
Any Alle stijlen, behalve s geen hexadecimaal getal.

De s parameter wordt geparseerd met behulp van de opmaakgegevens in een NumberFormatInfo object dat is geïnitialiseerd voor de huidige systeemcultuur. Zie CurrentInfo voor meer informatie.

A Decimal heeft 29 cijfers precisie. Als s dit een getal vertegenwoordigt dat meer dan 29 cijfers heeft, maar een breukdeel heeft en zich binnen het bereik van MaxValue en MinValuebevindt, wordt het getal afgerond, niet afgekapt, tot 29 cijfers met afronding naar het dichtstbijzijnde.

Als er tijdens een parseringsbewerking een scheidingsteken wordt aangetroffen in de s parameter, styles de en NumberStyles.AllowThousands waarden bevat NumberStyles.AllowDecimalPoint en de toepasselijke valuta- of getaldecimaal- en groepsscheidingstekens hetzelfde zijn, wordt bij de parseringsbewerking ervan uitgegaan dat het scheidingsteken een decimaalteken is in plaats van een groepsscheidingsteken. Zie , CurrencyDecimalSeparator, en NumberDecimalSeparatorCurrencyGroupSeparatorvoor meer informatie over scheidingstekens NumberGroupSeparator.

Zie ook

Van toepassing op

Parse(String, IFormatProvider)

Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs

Converteert de tekenreeksweergave van een getal naar het Decimal equivalent ervan met behulp van de opgegeven cultuurspecifieke notatiegegevens.

public:
 static System::Decimal Parse(System::String ^ s, IFormatProvider ^ provider);
public:
 static System::Decimal Parse(System::String ^ s, IFormatProvider ^ provider) = IParsable<System::Decimal>::Parse;
public static decimal Parse(string s, IFormatProvider provider);
public static decimal Parse(string s, IFormatProvider? provider);
static member Parse : string * IFormatProvider -> decimal
Public Shared Function Parse (s As String, provider As IFormatProvider) As Decimal

Parameters

s
String

De tekenreeksweergave van het getal dat moet worden geconverteerd.

provider
IFormatProvider

Een IFormatProvider die cultuurspecifieke parseringsinformatie over s.

Retouren

Het Decimal getal dat gelijk is aan het getal dat is opgenomen in s zoals opgegeven door provider.

Implementeringen

Uitzonderingen

s is niet van de juiste indeling.

s vertegenwoordigt een getal kleiner dan Decimal.MinValue of groter dan Decimal.MaxValue.

Voorbeelden

Het volgende voorbeeld is de knop klik op gebeurtenishandler van een webformulier. Hierbij wordt de matrix gebruikt die door de HttpRequest.UserLanguages eigenschap wordt geretourneerd om de landinstelling van de gebruiker te bepalen. Vervolgens wordt een CultureInfo object geïnstitueert dat overeenkomt met die landinstelling. Het NumberFormatInfo object dat bij dat CultureInfo object hoort, wordt vervolgens doorgegeven aan de Parse(String, IFormatProvider) methode om de invoer van de gebruiker te converteren naar een Decimal waarde.

protected void OkToDecimal_Click(object sender, EventArgs e)
{
    string locale;
    decimal 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 = Decimal.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 OkToDecimal_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OkToDecimal.Click
    Dim locale As String
    Dim culture As CultureInfo
    Dim number As Decimal

    ' 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 = Decimal.Parse(Me.inputNumber.Text, culture.NumberFormat)
    Catch ex As FormatException
        Exit Sub
    Catch ex As Exception
        Exit Sub
    End Try

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

Opmerkingen

Deze overbelasting van de Parse(String, IFormatProvider) methode wordt vaak gebruikt om tekst te converteren die op verschillende manieren kan worden opgemaakt naar een Decimal waarde. Het kan bijvoorbeeld worden gebruikt om de tekst die door een gebruiker is ingevoerd, te converteren naar een HTML-tekstvak naar een numerieke waarde.

De s parameter bevat een getal van het formulier:

[ws][teken][cijfers,]digits[.fractional-digits][ws]

Elementen in vierkante haken ([ en ]) zijn optioneel. In de volgende tabel wordt elk element beschreven.

Element Beschrijving
Ws Optionele witruimte.
ondertekenen Een optioneel teken.
Cijfers Een reeks cijfers tussen 0 en 9.
, Een cultuurspecifiek scheidingsteken voor duizendtallen.
. Een cultuurspecifiek decimaalteken.
fractionele cijfers Een reeks cijfers tussen 0 en 9.

De s parameter wordt geïnterpreteerd met behulp van de NumberStyles.Number stijl. Dit betekent dat witruimte en scheidingstekens voor duizendtallen zijn toegestaan, maar valutasymbolen niet. Als u de elementen (zoals valutasymbolen, scheidingstekens voor duizendtallen en witruimte) expliciet wilt definiëren, sgebruikt u de Decimal.Parse(String, NumberStyles, IFormatProvider) methode.

De provider parameter is een IFormatProvider implementatie, zoals een NumberFormatInfo of CultureInfo object. De provider parameter levert cultuurspecifieke informatie die wordt gebruikt bij parseren. Als provider dat het is null, wordt de huidige threadcultuur gebruikt.

Een Decimal object heeft 29 cijfers precisie. Als s dit een getal vertegenwoordigt dat meer dan 29 cijfers heeft, maar een breukdeel heeft en zich binnen het bereik van MaxValue en MinValuebevindt, wordt het getal afgerond, niet afgekapt, tot 29 cijfers met afronding naar het dichtstbijzijnde.

Als er tijdens een parseringsbewerking een scheidingsteken wordt aangetroffen in de s parameter en de toepasselijke valuta- of getaldecimaaltekens en groepsscheidingstekens hetzelfde zijn, wordt bij de parseringsbewerking ervan uitgegaan dat het scheidingsteken een decimaalteken is in plaats van een scheidingsteken voor groepen. Zie , CurrencyDecimalSeparator, en NumberDecimalSeparatorCurrencyGroupSeparatorvoor meer informatie over scheidingstekens NumberGroupSeparator.

Zie ook

Van toepassing op

Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)

Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs

Parseert een reeks UTF-8 tekens in een waarde.

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

Parameters

utf8Text
ReadOnlySpan<Byte>

Het bereik van UTF-8 tekens om te parseren.

style
NumberStyles

Een bitsgewijze combinatie van getalstijlen die aanwezig kunnen zijn in utf8Text.

provider
IFormatProvider

Een object dat cultuurspecifieke opmaakinformatie biedt over utf8Text.

Retouren

Het resultaat van parseren utf8Text.

Implementeringen

Van toepassing op

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs

Converteert de spanweergave van een getal naar Decimal het equivalent ervan met behulp van de opgegeven stijl en cultuurspecifieke notatie.

public static decimal Parse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Number, IFormatProvider? provider = default);
public static decimal Parse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Number, IFormatProvider provider = default);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> decimal
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Number, Optional provider As IFormatProvider = Nothing) As Decimal

Parameters

s
ReadOnlySpan<Char>

Het bereik met de tekens die het getal vertegenwoordigen dat moet worden geconverteerd.

style
NumberStyles

Een bitsgewijze combinatie van NumberStyles waarden die de stijlelementen aangeeft die aanwezig kunnen zijn in s. Een typische waarde die moet worden opgegeven, is Number.

provider
IFormatProvider

Een IFormatProvider object dat cultuurspecifieke informatie levert over de indeling van s.

Retouren

Het Decimal getal dat gelijk is aan het getal dat is opgenomen in s zoals opgegeven door style en provider.

Implementeringen

Van toepassing op

Parse(String, NumberStyles, IFormatProvider)

Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs
Bron:
Decimal.cs

Converteert de tekenreeksweergave van een getal naar het Decimal equivalent ervan met behulp van de opgegeven stijl en cultuurspecifieke notatie.

public:
 static System::Decimal Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public:
 static System::Decimal Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider) = System::Numerics::INumberBase<System::Decimal>::Parse;
public static decimal Parse(string s, System.Globalization.NumberStyles style, IFormatProvider provider);
public static decimal Parse(string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> decimal
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As Decimal

Parameters

s
String

De tekenreeksweergave van het getal dat moet worden geconverteerd.

style
NumberStyles

Een bitsgewijze combinatie van NumberStyles waarden die de stijlelementen aangeeft die aanwezig kunnen zijn in s. Een typische waarde die moet worden opgegeven, is Number.

provider
IFormatProvider

Een IFormatProvider object dat cultuurspecifieke informatie levert over de indeling van s.

Retouren

Het Decimal getal dat gelijk is aan het getal dat is opgenomen in s zoals opgegeven door style en provider.

Implementeringen

Uitzonderingen

s heeft niet de juiste indeling.

s vertegenwoordigt een getal kleiner dan Decimal.MinValue of groter dan Decimal.MaxValue.

style is geen NumberStyles waarde.

– of –

style is de AllowHexSpecifier waarde.

Voorbeelden

In het volgende voorbeeld worden verschillende style parameters gebruikt provider om de tekenreeksweergaven van Decimal waarden te parseren.

string value;
decimal number;
NumberStyles style;
CultureInfo provider;

// Parse string using " " as the thousands separator
// and "," as the decimal separator for fr-FR culture.
value = "892 694,12";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands;
provider = new CultureInfo("fr-FR");

number = Decimal.Parse(value, style, provider);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '892 694,12' converted to 892694.12.

try
{
   number = Decimal.Parse(value, style, CultureInfo.InvariantCulture);
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
//    Unable to parse '892 694,12'.

// Parse string using "$" as the currency symbol for en-GB and
// en-US cultures.
value = "$6,032.51";
style = NumberStyles.Number | NumberStyles.AllowCurrencySymbol;
provider = new CultureInfo("en-GB");

try
{
   number = Decimal.Parse(value, style, provider);
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
//    Unable to parse '$6,032.51'.

provider = new CultureInfo("en-US");
number = Decimal.Parse(value, style, provider);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '$6,032.51' converted to 6032.51.
// Parse string using " " as the thousands separator
// and "," as the decimal separator for fr-FR culture.
let value = "892 694,12"
let style = NumberStyles.AllowDecimalPoint ||| NumberStyles.AllowThousands
let provider = CultureInfo "fr-FR"

let number = Decimal.Parse(value, style, provider)
printfn $"'{value}' converted to {number}."
// Displays:
//    '892 694,12' converted to 892694.12.

try
    let number = Decimal.Parse(value, style, CultureInfo.InvariantCulture)
    printfn $"'{value}' converted to {number}."
with :? FormatException ->
    printfn $"Unable to parse '{value}'."
// Displays:
//    Unable to parse '892 694,12'.

// Parse string using "$" as the currency symbol for en-GB and
// en-US cultures.
let value = "$6,032.51"
let style = NumberStyles.Number ||| NumberStyles.AllowCurrencySymbol
let provider = CultureInfo "en-GB"

try
    let number = Decimal.Parse(value, style, provider)
    printfn $"'{value}' converted to {number}."
with :? FormatException ->
    printfn $"Unable to parse '{value}'."
// Displays:
//    Unable to parse '$6,032.51'.

let provider = CultureInfo "en-US"
let number = Decimal.Parse(value, style, provider)
printfn $"'{value}' converted to {number}."
// Displays:
//    '$6,032.51' converted to 6032.51.
Dim value As String
Dim number As Decimal
Dim style As NumberStyles
Dim provider As CultureInfo

' Parse string using " " as the thousands separator 
' and "," as the decimal separator for fr-FR culture.
value = "892 694,12"
style = NumberStyles.AllowDecimalPoint Or NumberStyles.AllowThousands
provider = New CultureInfo("fr-FR")

number = Decimal.Parse(value, style, provider)  
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays: 
'    '892 694,12' converted to 892694.12.

Try
   number = Decimal.Parse(value, style, CultureInfo.InvariantCulture)  
   Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
   Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays: 
'    Unable to parse '892 694,12'.  

' Parse string using "$" as the currency symbol for en-GB and
' en-US cultures.
value = "$6,032.51"
style = NumberStyles.Number Or NumberStyles.AllowCurrencySymbol
provider = New CultureInfo("en-GB")

Try
   number = Decimal.Parse(value, style, provider)  
   Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
   Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays: 
'    Unable to parse '$6,032.51'.

provider = New CultureInfo("en-US")
number = Decimal.Parse(value, style, provider)  
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays: 
'    '$6,032.51' converted to 6032.51.

Opmerkingen

De style parameter definieert de toegestane indeling van de parameter om de s parseringsbewerking te voltooien. Dit moet een combinatie zijn van bitvlagmen uit de NumberStyles opsomming. De volgende NumberStyles leden worden niet ondersteund:

Afhankelijk van de waarde van style, kan de s parameter de volgende elementen bevatten:

[ws][$][teken][cijfers;]digits[.fractional-digits][e[sign]digits][ws]

Elementen in vierkante haken ([ en ]) zijn optioneel. In de volgende tabel wordt elk element beschreven.

Element Beschrijving
$ Een cultuurspecifiek valutasymbool. De positie in de tekenreeks wordt gedefinieerd door de CurrencyNegativePattern eigenschappen van het CurrencyPositivePattern object dat wordt geretourneerd door de NumberFormatInfo methode van de GetFormatprovider parameter. Het valutasymbool kan worden weergegeven s als style deze de NumberStyles.AllowCurrencySymbol vlag bevat.
Ws Optionele witruimte. Witruimte kan aan het begin van s de styleNumberStyles.AllowLeadingWhite vlag worden weergegeven en deze kan aan het einde van s de styleNumberStyles.AllowTrailingWhite vlag worden weergegeven.
ondertekenen Een optioneel teken. Het teken kan aan het begin van s de styleNumberStyles.AllowLeadingSign vlag worden weergegeven en kan aan het einde van s de vlag worden weergegeven.styleNumberStyles.AllowTrailingSign Haakjes kunnen worden gebruikt s om een negatieve waarde aan te geven als style deze de NumberStyles.AllowParentheses vlag bevat.
Cijfers Een reeks cijfers tussen 0 en 9.
, Een cultuurspecifiek scheidingsteken voor duizendtallen. Het scheidingsteken voor duizendtallen van de cultuur die is provider gedefinieerd, kan worden weergegeven in s de styleNumberStyles.AllowThousands vlag.
. Een cultuurspecifiek decimaalteken. Het decimaalteken van de cultuur die is gedefinieerd door provider , kan worden weergegeven als sstyle deze de NumberStyles.AllowDecimalPoint vlag bevat.
fractionele cijfers Een reeks cijfers tussen 0 en 9. Fractionele cijfers kunnen alleen worden weergegeven als sstyle de NumberStyles.AllowDecimalPoint vlag wordt opgenomen.
e Het teken e of E, dat aangeeft dat de waarde wordt weergegeven in exponentiële notatie. De s parameter kan een getal in exponentiële notatie vertegenwoordigen als style deze de NumberStyles.AllowExponent vlag bevat.

Note

Alle nultekens (U+0000) s worden genegeerd door de parseringsbewerking, ongeacht de waarde van het style argument.

Een tekenreeks met alleen cijfers (die overeenkomt met de None stijl) parseert altijd goed als deze zich in het bereik van het Decimal type bevindt. De overige NumberStyles leden bepalen elementen die mogelijk wel maar niet aanwezig zijn in de invoertekenreeks. De volgende tabel geeft aan hoe afzonderlijke NumberStyles leden van invloed zijn op de elementen die aanwezig kunnen zijn in s.

NumberStyles-waarde Elementen die naast cijfers zijn toegestaan
None Alleen het cijferelement .
AllowDecimalPoint De elementen . en fractionele cijfers .
AllowExponent De s parameter kan ook exponentiële notatie gebruiken. Deze vlag ondersteunt waarden in deformuliercijfers E-cijfers; er zijn extra vlaggen nodig om tekenreeksen te parseren met elementen zoals positieve of negatieve tekens en decimale kommasymbolen.
AllowLeadingWhite Het ws-element aan het begin van s.
AllowTrailingWhite Het ws-element aan het einde van s.
AllowLeadingSign Het tekenelement aan het begin van s.
AllowTrailingSign Het tekenelement aan het einde van s.
AllowParentheses Het tekenelement in de vorm van haakjes tussen de numerieke waarde.
AllowThousands Het , element.
AllowCurrencySymbol Het $ element.
Currency Alles. De s parameter kan geen hexadecimaal getal of een getal in exponentiële notatie vertegenwoordigen.
Float Het ws-element aan het begin of einde van s, teken aan het begin van s, en het symbool . De s parameter kan ook exponentiële notatie gebruiken.
Number De wselementen , sign, en. .
Any Alle stijlen, behalve s geen hexadecimaal getal.

De provider parameter is een IFormatProvider implementatie, zoals een NumberFormatInfo of CultureInfo object. De provider parameter levert cultuurspecifieke informatie die wordt gebruikt bij parseren. Als provider dat het is null, wordt de huidige threadcultuur gebruikt.

Een Decimal object heeft 29 cijfers precisie. Als s dit een getal vertegenwoordigt dat meer dan 29 cijfers heeft, maar een breukdeel heeft en zich binnen het bereik van MaxValue en MinValuebevindt, wordt het getal afgerond, niet afgekapt, tot 29 cijfers met afronding naar het dichtstbijzijnde.

Als er tijdens een parseringsbewerking een scheidingsteken wordt aangetroffen in de s parameter en de toepasselijke valuta- of getaldecimaaltekens en groepsscheidingstekens hetzelfde zijn, wordt bij de parseringsbewerking ervan uitgegaan dat het scheidingsteken een decimaalteken is in plaats van een scheidingsteken voor groepen. Zie , CurrencyDecimalSeparator, en NumberDecimalSeparatorCurrencyGroupSeparatorvoor meer informatie over scheidingstekens NumberGroupSeparator.

Zie ook

Van toepassing op