NumberStyles Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Avgör vilka format som tillåts i numeriska strängargument som skickas till Parse metoderna och TryParse för de numeriska typerna integral och flyttals.
Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.
public enum class NumberStyles
[System.Flags]
public enum NumberStyles
[System.Flags]
[System.Serializable]
public enum NumberStyles
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum NumberStyles
[<System.Flags>]
type NumberStyles =
[<System.Flags>]
[<System.Serializable>]
type NumberStyles =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type NumberStyles =
Public Enum NumberStyles
- Arv
- Attribut
Fält
| Name | Värde | Description |
|---|---|---|
| None | 0 | Anger att inga formatelement, till exempel inledande eller avslutande blanksteg, tusentalsavgränsare eller en decimalavgränsare, kan finnas i den parsade strängen. Strängen som ska parsas måste endast bestå av heltalstal. |
| AllowLeadingWhite | 1 | Anger att inledande blankstegstecken kan finnas i den tolkade strängen. Giltiga blankstegstecken har Unicode-värdena U+0009, U+000A, U+000B, U+000C, U+000D och U+0020. Observera att det här är en delmängd av de tecken som IsWhiteSpace(Char) metoden returnerar |
| AllowTrailingWhite | 2 | Anger att avslutande blankstegstecken kan finnas i den parsade strängen. Giltiga blankstegstecken har Unicode-värdena U+0009, U+000A, U+000B, U+000C, U+000D och U+0020. Observera att det här är en delmängd av de tecken som IsWhiteSpace(Char) metoden returnerar |
| AllowLeadingSign | 4 | Anger att den numeriska strängen kan ha ett inledande tecken. Giltiga inledande teckentecken bestäms av PositiveSign egenskaperna och NegativeSign . |
| Integer | 7 | Anger att formatmallarna AllowLeadingWhite, AllowTrailingWhiteoch AllowLeadingSign används. Det här är ett sammansatt talformat. |
| AllowTrailingSign | 8 | Anger att den numeriska strängen kan ha ett avslutande tecken. Giltiga avslutande teckentecken bestäms av PositiveSign egenskaperna och NegativeSign . |
| AllowParentheses | 16 | Anger att den numeriska strängen kan ha ett par parenteser som omger talet. Parenteserna anger att strängen som ska parsas representerar ett negativt tal. |
| AllowDecimalPoint | 32 | Anger att den numeriska strängen kan ha en decimalpunkt. Om värdet NumberStyles innehåller AllowCurrencySymbol flaggan och den parsade strängen innehåller en valutasymbol bestäms decimaltecknet av CurrencyDecimalSeparator egenskapen . Annars bestäms decimaltecknet av egenskapen NumberDecimalSeparator . |
| AllowThousands | 64 | Anger att den numeriska strängen kan ha gruppavgränsare, till exempel symboler som skiljer hundratals från tusentals. NumberStyles Om värdet innehåller AllowCurrencySymbol flaggan och strängen som ska parsas innehåller en valutasymbol, bestäms det giltiga gruppavgränsartecknet av CurrencyGroupSeparator egenskapen och antalet siffror i varje grupp bestäms av CurrencyGroupSizes egenskapen. I annat fall bestäms det giltiga gruppavgränsartecknet av NumberGroupSeparator egenskapen och antalet siffror i varje grupp bestäms av NumberGroupSizes egenskapen. |
| Number | 111 | Anger att formatmallarna AllowLeadingWhite, , AllowTrailingWhiteAllowLeadingSign, AllowTrailingSign, AllowDecimalPointoch AllowThousands används. Det här är ett sammansatt talformat. |
| AllowExponent | 128 | Anger att den numeriska strängen kan vara i exponentiell notation. Med AllowExponent flaggan kan den parsade strängen innehålla en exponent som börjar med tecknet "E" eller "e" och som följs av ett valfritt positivt eller negativt tecken och ett heltal. Med andra ord parsar den strängar i formatet nnnExx, nnnE+xx och nnnE-xx. Det tillåter inte en decimalavgränsare eller loggar in significand eller mantissa; för att tillåta att dessa element i strängen parsas, använda flaggorna AllowDecimalPoint och AllowLeadingSign eller använda ett sammansatt format som innehåller dessa enskilda flaggor. |
| Float | 167 | Anger att formatmallarna AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPointoch AllowExponent används. Det här är ett sammansatt talformat. |
| AllowCurrencySymbol | 256 | Anger att den numeriska strängen kan innehålla en valutasymbol. Giltiga valutasymboler bestäms av egenskapen CurrencySymbol . |
| Currency | 383 | Anger att alla format utom AllowExponent och AllowHexSpecifier används. Det här är ett sammansatt talformat. |
| Any | 511 | Anger att alla format utom AllowHexSpecifier och AllowBinarySpecifier används. Det här är ett sammansatt talformat. |
| AllowHexSpecifier | 512 | Anger att den numeriska strängen representerar ett hexadecimalt värde. Giltiga hexadecimala värden inkluderar de numeriska siffrorna 0–9 och hexadecimala siffror A-F och a-f. Strängar som parsas med det här formatet kan inte prefixeras med "0x" eller "&h". En sträng som parsas med AllowHexSpecifier formatet tolkas alltid som ett hexadecimalt värde. De enda flaggor som kan kombineras med AllowHexSpecifier är AllowLeadingWhite och AllowTrailingWhite. Uppräkningen NumberStyles innehåller ett sammansatt format, HexNumber, som består av dessa tre flaggor. |
| HexNumber | 515 | Anger att formatmallarna AllowLeadingWhite, AllowTrailingWhiteoch AllowHexSpecifier används. Det här är ett sammansatt talformat. |
Exempel
Det här exemplet visar hur du parsar en sträng i ett 32-bitars heltal med hjälp av olika NumberStyles flaggor.
using System;
using System.Text;
using System.Globalization;
public sealed class App
{
static void Main()
{
// Parse the string as a hex value and display the value as a decimal.
String num = "A";
int val = int.Parse(num, NumberStyles.HexNumber);
Console.WriteLine("{0} in hex = {1} in decimal.", num, val);
// Parse the string, allowing a leading sign, and ignoring leading and trailing white spaces.
num = " -45 ";
val = int.Parse(num, NumberStyles.AllowLeadingSign |
NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);
Console.WriteLine("'{0}' parsed to an int is '{1}'.", num, val);
// Parse the string, allowing parentheses, and ignoring leading and trailing white spaces.
num = " (37) ";
val = int.Parse(num, NumberStyles.AllowParentheses | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);
Console.WriteLine("'{0}' parsed to an int is '{1}'.", num, val);
}
}
// This code produces the following output.
//
// A in hex = 10 in decimal.
// ' -45 ' parsed to an int is '-45'.
// ' (37) ' parsed to an int is '-37'.
Imports System.Globalization
Imports System.Text
Public Module Example
Public Sub Main()
' Parse the string as a hex value and display the value as a decimal.
Dim num As String = "A"
Dim val As Integer = Int32.Parse(num, NumberStyles.HexNumber)
Console.WriteLine("{0} in hex = {1} in decimal.", num, val)
' Parse the string, allowing a leading sign, and ignoring leading and trailing white spaces.
num = " -45 "
val = Integer.Parse(num, NumberStyles.AllowLeadingSign Or
NumberStyles.AllowLeadingWhite Or
NumberStyles.AllowTrailingWhite)
Console.WriteLine("'{0}' parsed to an integer is '{1}'.", num, val)
' Parse the string, allowing parentheses, and ignoring leading and trailing white spaces.
num = " (37) "
val = Integer.Parse(num, NumberStyles.AllowParentheses Or
NumberStyles.AllowLeadingSign Or
NumberStyles.AllowLeadingWhite Or
NumberStyles.AllowTrailingWhite)
Console.WriteLine("'{0}' parsed to an integer is '{1}'.", num, val)
End Sub
End Module
' The example displays the following output:
' A in hex = 10 in decimal.
' ' -45 ' parsed to an int is '-45'.
' ' (37) ' parsed to an int is '-37'.
Kommentarer
Uppräkningen NumberStyles består av två typer av uppräkningsvärden som används för att parsa strängrepresentationerna av numeriska värden:
- Enskilda fältflaggor, som definierar specifika formatelement (till exempel blanksteg och gruppavgränsare) som kan finnas i den parsade strängen.
- Sammansatta talformat, som består av flera fältflaggor som definierar de formatelement som kan finnas i den tolkade strängen.
AllowHexSpecifierFörutom definierar de enskilda fältflaggorna i NumberStyles uppräkningen formatelement som används vid parsning av strängrepresentationen av ett decimaltal.
None anger att endast siffror kan finnas i den parsade strängen. De återstående enskilda fältflaggorna definierar formatelement som kan vara, men inte behöver vara, i strängrepresentationen av ett decimaltal för att parsningsåtgärden ska lyckas. Flaggan anger däremot AllowHexSpecifier att strängen som ska parsas alltid tolkas som ett hexadecimalt värde. De enda enskilda fältflaggor som kan användas med AllowHexSpecifier är AllowLeadingWhite och AllowTrailingWhite. Uppräkningen NumberStyles innehåller ett sammansatt talformat, HexNumber, som består av alla tre flaggorna.
De symboler (till exempel valutasymbolen, gruppavgränsaren, decimaltecknet och de positiva och negativa tecknen) som kan visas i strängen som ska parsas definieras av medlemmarna System.Globalization.NumberFormatInfo i objektet som skickas antingen implicit eller explicit till Parse metoden. Medlemstabellen i det här avsnittet innehåller en beskrivning av varje enskild flagga och anger dess relation till NumberFormatInfo egenskaper.
I följande tabell visas de sammansatta talformaten och anger vilka enskilda fältflaggor de innehåller. En "1" i en cell anger att det sammansatta talformatet innehåller det enskilda talformatet i den raden. En "0" anger att det sammansatta talformatet inte innehåller det enskilda talformatet.
| Any | Valuta | Float | Heltal | Siffra | HexNumber | BinaryNumber | |
|---|---|---|---|---|---|---|---|
| AllowBinarySpecifier (0x0400) | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| AllowHexSpecifier (0x0200) | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| AllowCurrencySymbol (0x0100) | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| AllowExponent (0x0080) | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
| AllowThousands (0x0040) | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
| AllowDecimalPoint (0x0020) | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
| AllowParentheses (0x0010) | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| AllowTrailingSign (0x0008) | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
| AllowLeadingSign (0x0004) | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
| AllowTrailingWhite (0x0002) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| AllowLeadingWhite (0x0001) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| (0x1ff) | (0x17f) | (0x0a7) | (0x007) | (0x06f) | (0x203) | (0x403) |