Decimal.Parse Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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 is null.
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
s is null.
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 null.
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.
s is null.
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.