NumberStyles Sabit listesi

Tanım

Tamsayı ve kayan nokta sayısal türlerinin ve TryParse yöntemlerine Parse geçirilen sayısal dize bağımsız değişkenlerinde izin verilen stilleri belirler.

Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.

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
Devralma
NumberStyles
Öznitelikler

Alanlar

AllowBinarySpecifier 1024

Sayısal dizenin bir ikili değeri temsil ettiğini gösterir. Geçerli ikili değerler 0 ve 1 sayısal basamaklarını içerir. Bu stil kullanılarak ayrıştırılan dizeler bir ön ek kullanmaz; 0b kullanılamaz. Stille AllowBinarySpecifier ayrıştırılan bir dize her zaman ikili değer olarak yorumlanır. ile AllowBinarySpecifier birleştirilebilen tek bayraklar ve AllowTrailingWhite'tirAllowLeadingWhite. Numaralandırma, NumberStyles bu üç bayrağı içeren bileşik stili BinaryNumberiçerir.

AllowCurrencySymbol 256

Sayısal dizenin para birimi simgesi içerebileceğini gösterir. Geçerli para birimi simgeleri özelliği tarafından CurrencySymbol belirlenir.

AllowDecimalPoint 32

Sayısal dizenin ondalık ayırıcısı olabileceğini gösterir. NumberStyles Değer bayrağını AllowCurrencySymbol içeriyorsa ve ayrıştırılmış dize bir para birimi simgesi içeriyorsa, ondalık ayırıcı karakteri özelliği tarafından CurrencyDecimalSeparator belirlenir. Aksi takdirde, ondalık ayırıcı karakteri özelliği tarafından NumberDecimalSeparator belirlenir.

AllowExponent 128

Sayısal dizenin üstel gösterimde olabileceğini gösterir. bayrağı, AllowExponent ayrıştırılan dizenin "E" veya "e" karakteriyle başlayan ve ardından isteğe bağlı pozitif veya negatif işareti ve tamsayı içeren bir üs içermesine olanak tanır. Başka bir deyişle, nnnE xx, nnn E+xx ve nnnE-xx biçimindeki dizeleri başarıyla ayrıştırıyor. Bu, ondalık ayırıcıya veya işaret ya da mantiste oturum açmaya izin vermez; dizesindeki bu öğelerin ayrıştırılması için ve AllowLeadingSign bayraklarını veya AllowDecimalPoint bu tek tek bayrakları içeren bileşik stili kullanın.

AllowHexSpecifier 512

Sayısal dizenin onaltılık değeri temsil ettiğini gösterir. Geçerli onaltılık değerler 0-9 sayısal basamaklarını ve onaltılık basamak A-F ve a-f'yi içerir. Bu stil kullanılarak ayrıştırılan dizelere "0x" veya "&h" ön eki eklenemez. Stille AllowHexSpecifier ayrıştırılan bir dize her zaman onaltılık değer olarak yorumlanır. ile AllowHexSpecifier birleştirilebilen tek bayraklar ve AllowTrailingWhite'tirAllowLeadingWhite. Numaralandırma, NumberStyles bu üç bayrağı içeren bileşik stili HexNumberiçerir.

AllowLeadingSign 4

Sayısal dizenin bir baştaki işareti olabileceğini gösterir. Geçerli baştaki işaret karakterleri ve NegativeSign özellikleri tarafından PositiveSign belirlenir.

AllowLeadingWhite 1

Ayrıştırılmış dizede baştaki boşluk karakterlerinin bulunabileceğini gösterir. Geçerli boşluk karakterleri U+0009, U+000A, U+000B, U+000C, U+000D ve U+0020 Unicode değerlerine sahiptir. Bunun, yönteminin döndürdüğü truekarakterlerin IsWhiteSpace(Char) bir alt kümesi olduğunu unutmayın.

AllowParentheses 16

Sayısal dizenin, sayıyı kapsayan bir çift paranteze sahip olabileceğini gösterir. Parantezler ayrıştırılacak dizenin negatif bir sayıyı temsil ettiğini gösterir.

AllowThousands 64

Sayısal dizenin, yüzleri binlerden ayıran simgeler gibi grup ayırıcıları olabileceğini gösterir. NumberStyles Değer bayrağını AllowCurrencySymbol içeriyorsa ve ayrıştırılacak dize bir para birimi simgesi içeriyorsa, geçerli grup ayırıcı karakteri özelliği tarafından CurrencyGroupSeparator belirlenir ve her gruptaki basamak sayısı özelliği tarafından CurrencyGroupSizes belirlenir. Aksi takdirde, geçerli grup ayırıcı karakteri özelliği tarafından NumberGroupSeparator belirlenir ve her gruptaki basamak sayısı özelliği tarafından NumberGroupSizes belirlenir.

AllowTrailingSign 8

Sayısal dizenin sonunda bir işaret olabileceğini gösterir. Geçerli sondaki işaret karakterleri ve NegativeSign özellikleri tarafından PositiveSign belirlenir.

AllowTrailingWhite 2

Sondaki boşluk karakterlerinin ayrıştırılmış dizede bulunabileceğini gösterir. Geçerli boşluk karakterleri U+0009, U+000A, U+000B, U+000C, U+000D ve U+0020 Unicode değerlerine sahiptir. Bunun, yönteminin döndürdüğü truekarakterlerin IsWhiteSpace(Char) bir alt kümesi olduğunu unutmayın.

Any 511

ve AllowBinarySpecifier dışındaki AllowHexSpecifier tüm stillerin kullanıldığını gösterir. Bu bileşik bir sayı stilidir.

BinaryNumber 1027

, AllowTrailingWhiteve AllowBinarySpecifier stillerinin AllowLeadingWhitekullanıldığını gösterir. Bu bileşik bir sayı stilidir.

Currency 383

ve AllowHexSpecifier dışındaki AllowExponent tüm stillerin kullanıldığını gösterir. Bu bileşik bir sayı stilidir.

Float 167

, , AllowTrailingWhite, AllowLeadingSign, AllowDecimalPointve AllowExponent stillerinin AllowLeadingWhitekullanıldığını gösterir. Bu bileşik bir sayı stilidir.

HexNumber 515

, AllowTrailingWhiteve AllowHexSpecifier stillerinin AllowLeadingWhitekullanıldığını gösterir. Bu bileşik bir sayı stilidir.

Integer 7

, AllowTrailingWhiteve AllowLeadingSign stillerinin AllowLeadingWhitekullanıldığını gösterir. Bu bileşik bir sayı stilidir.

None 0

Ayrıştırılmış dizede baştaki veya sondaki boşluk, binlik ayırıcısı veya ondalık ayırıcı gibi stil öğelerinin bulunaabileceğini gösterir. Ayrıştırılacak dize yalnızca tam sayı ondalık basamaklarından oluşmalıdır.

Number 111

AllowLeadingWhite, , AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPointve AllowThousands stillerinin kullanıldığını gösterir. Bu bileşik bir sayı stilidir.

Örnekler

Bu örnekte, çeşitli NumberStyles bayraklar kullanarak bir dizeyi 32 bitlik bir tamsayıya ayrıştırma gösterilmektedir.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;


int main()
{
    // Parse the string as a hex value and display the
    // value as a decimal.
    String^ numberString = "A";
    int stringValue = Int32::Parse(numberString, NumberStyles::HexNumber);
    Console::WriteLine("{0} in hex = {1} in decimal.",
        numberString, stringValue);

    // Parse the string, allowing a leading sign, and ignoring
    // leading and trailing white spaces.
    numberString = "    -45   ";
    stringValue =Int32::Parse(numberString, NumberStyles::AllowLeadingSign |
        NumberStyles::AllowLeadingWhite | NumberStyles::AllowTrailingWhite);
    Console::WriteLine("'{0}' parsed to an int is '{1}'.",
        numberString, stringValue);

    // Parse the string, allowing parentheses, and ignoring
    // leading and trailing white spaces.
    numberString = "    (37)   ";
    stringValue = Int32::Parse(numberString, NumberStyles::AllowParentheses |
        NumberStyles::AllowLeadingSign | NumberStyles::AllowLeadingWhite |
        NumberStyles::AllowTrailingWhite);

    Console::WriteLine("'{0}' parsed to an int is '{1}'.",
        numberString, stringValue);
}

// 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'.
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'.

Açıklamalar

Numaralandırma, NumberStyles sayısal değerlerin dize gösterimlerini ayrıştırmak için kullanılan iki tür numaralandırma değerinden oluşur:

  • Ayrıştırılmış dizede bulunabilecek belirli stil öğelerini (boşluk ve grup ayırıcıları gibi) tanımlayan tek tek alan bayrakları.
  • Ayrıştırılmış dizede bulunabilecek stil öğelerini tanımlayan birden çok alan bayrağından oluşan bileşik sayı stilleri.

AllowHexSpecifierdışında, numaralandırmadaki NumberStyles tek tek alan bayrakları ondalık sayının dize gösterimi ayrıştırılırken kullanılan stil öğelerini tanımlar. None ayrıştırılmış dizede yalnızca basamakların bulunabileceğini gösterir. Kalan tek tek alan bayrakları, ayrıştırma işleminin başarılı olması için ondalık bir sayının dize gösteriminde mevcut olabilecek ancak olması gerekmeyen stil öğelerini tanımlar. Buna karşılık, AllowHexSpecifier bayrağı ayrıştırılacak dizenin her zaman onaltılık değer olarak yorumlandığını gösterir. ile AllowHexSpecifier kullanılabilen tek tek alan bayrakları ve AllowTrailingWhite'tirAllowLeadingWhite. Numaralandırma, NumberStyles üç bayrağın tümünü içeren bileşik bir sayı stili HexNumberiçerir.

Ayrıştırılacak dizede görüntülenebilen simgeler (para birimi simgesi, grup ayırıcısı, ondalık ayırıcı ve pozitif ve negatif işaretler gibi), örtük olarak veya açıkça yönteme Parse geçirilen nesnenin System.Globalization.NumberFormatInfo üyeleri tarafından tanımlanır. Bu konudaki members tablosu her bir bayrağın açıklamasını sağlar ve özelliklerle NumberFormatInfo ilişkisini gösterir.

Aşağıdaki tabloda bileşik sayı stilleri listelenir ve bunların içerdiği tek tek alan bayrakları gösterilir. Hücredeki "1", bileşik sayı stilinin bu satırdaki tek tek sayı stilini içerdiğini gösterir. "0", bileşik sayı stilinin tek tek sayı stilini içermediğini gösterir.

Herhangi biri Para Birimi Float Tamsayı Sayı Hexnumber İkili Sayı
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)

Şunlara uygulanır

Ayrıca bkz.