NumberStyles NumberStyles NumberStyles NumberStyles Enum

Определение

Определяет стили, разрешенные в аргументах числовой строки, передаваемые методам Parse и TryParse целочисленных типов и числовых типов с плавающей запяой.Determines the styles permitted in numeric string arguments that are passed to the Parse and TryParse methods of the integral and floating-point numeric types.

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

public enum class NumberStyles
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum NumberStyles
type NumberStyles = 
Public Enum NumberStyles
Наследование
Атрибуты

Поля

AllowCurrencySymbol AllowCurrencySymbol AllowCurrencySymbol AllowCurrencySymbol 256

Указывает, что числовая строка может содержать символ денежной единицы.Indicates that the numeric string can contain a currency symbol. Допустимые символы денежных единиц определяются свойством CurrencySymbol.Valid currency symbols are determined by the CurrencySymbol property.

AllowDecimalPoint AllowDecimalPoint AllowDecimalPoint AllowDecimalPoint 32

Указывает, что числовая строка может включать десятичный разделитель.Indicates that the numeric string can have a decimal point. Если значение NumberStyles включает флаг AllowCurrencySymbol и анализируемая строка включает обозначение денежной единицы, символ десятичного разделителя определяется свойством CurrencyDecimalSeparator.If the NumberStyles value includes the AllowCurrencySymbol flag and the parsed string includes a currency symbol, the decimal separator character is determined by the CurrencyDecimalSeparator property. В противном случае символ десятичного разделителя определяется свойством NumberDecimalSeparator.Otherwise, the decimal separator character is determined by the NumberDecimalSeparator property.

AllowExponent AllowExponent AllowExponent AllowExponent 128

Указывает, что числовая строка может быть в экспоненциальном представлении.Indicates that the numeric string can be in exponential notation. Флаг AllowExponent позволяет включить в разбираемую строку экспоненту, начинающуюся с символа E или e, за которым следует необязательный положительный или отрицательный знак и целое число.The AllowExponent flag allows the parsed string to contain an exponent that begins with the "E" or "e" character and that is followed by an optional positive or negative sign and an integer. Другими словами, он успешно выполняет анализ строки в форме nnnExx, nnnE+xx и nnnE-xx.In other words, it successfully parses strings in the form nnnExx, nnnE+xx, and nnnE-xx. Он не допускает наличия десятичного разделителя или знака в значащей части числа, или мантиссе; чтобы разрешить эти элементы в анализируемой строке, используйте флаги AllowDecimalPoint и AllowLeadingSign или составной стиль, включающий эти отдельные флаги.It does not allow a decimal separator or sign in the significand or mantissa; to allow these elements in the string to be parsed, use the AllowDecimalPoint and AllowLeadingSign flags, or use a composite style that includes these individual flags.

AllowHexSpecifier AllowHexSpecifier AllowHexSpecifier AllowHexSpecifier 512

Указывает, что числовая строка представляет шестнадцатеричное значение.Indicates that the numeric string represents a hexadecimal value. К допустимым шестнадцатеричным значениям относятся цифры 0-9 и шестнадцатеричные знаки A-F и a-f.Valid hexadecimal values include the numeric digits 0-9 and the hexadecimal digits A-F and a-f. Строки, которые анализируются с помощью этого стиля, не могут иметь префикс "0x" или "&h".Strings that are parsed using this style cannot be prefixed with "0x" or "&h". Строка, анализируемая с использованием стиля AllowHexSpecifier, всегда интерпретируется как шестнадцатеричное значение.A string that is parsed with the AllowHexSpecifier style will always be interpreted as a hexadecimal value. С флагом AllowHexSpecifier можно объединять только флаги AllowLeadingWhite и AllowTrailingWhite.The only flags that can be combined with AllowHexSpecifier are AllowLeadingWhite and AllowTrailingWhite. Перечисление NumberStyles включает составной стиль HexNumber, состоящий из этих трех флагов.The NumberStyles enumeration includes a composite style, HexNumber, that consists of these three flags.

AllowLeadingSign AllowLeadingSign AllowLeadingSign AllowLeadingSign 4

Указывает, что числовая строка может включать начальный знак.Indicates that the numeric string can have a leading sign. Допустимые начальные знаки определяются свойствами PositiveSign и NegativeSign.Valid leading sign characters are determined by the PositiveSign and NegativeSign properties.

AllowLeadingWhite AllowLeadingWhite AllowLeadingWhite AllowLeadingWhite 1

Указывает, что анализируемая строка может начинаться со знаков пробела.Indicates that leading white-space characters can be present in the parsed string. Допустимые знаки пробела имеют следующие значения в кодировке Юникод: U+0009, U+000A, U+000B, U+000C, U+000D и U+0020.Valid white-space characters have the Unicode values U+0009, U+000A, U+000B, U+000C, U+000D, and U+0020. Обратите внимание, что это подмножество символов, для которых метод IsWhiteSpace(Char) возвращает значение true.Note that this is a subset of the characters for which the IsWhiteSpace(Char) method returns true.

AllowParentheses AllowParentheses AllowParentheses AllowParentheses 16

Указывает, что в числовой строке может находиться одна пара скобок, в которых заключено число.Indicates that the numeric string can have one pair of parentheses enclosing the number. Скобки означают, что анализируемая строка представляет отрицательное число.The parentheses indicate that the string to be parsed represents a negative number.

AllowThousands AllowThousands AllowThousands AllowThousands 64

Указывает, что в числовой строке могут находиться разделители групп, например символы, отделяющие сотни от тысяч.Indicates that the numeric string can have group separators, such as symbols that separate hundreds from thousands. Если значение NumberStyles включает флаг AllowCurrencySymbol и анализируемая строка содержит обозначение денежной единицы, допустимый разделитель группы определяется свойством CurrencyGroupSeparator, и количество цифр в каждой группе определяется свойством CurrencyGroupSizes.If the NumberStyles value includes the AllowCurrencySymbol flag and the string to be parsed includes a currency symbol, the valid group separator character is determined by the CurrencyGroupSeparator property, and the number of digits in each group is determined by the CurrencyGroupSizes property. В противном случае допустимый разделитель групп определяется свойством NumberGroupSeparator, а количество цифр в каждой группе определяется свойством NumberGroupSizes.Otherwise, the valid group separator character is determined by the NumberGroupSeparator property, and the number of digits in each group is determined by the NumberGroupSizes property.

AllowTrailingSign AllowTrailingSign AllowTrailingSign AllowTrailingSign 8

Указывает, что числовая строка может включать конечный знак.Indicates that the numeric string can have a trailing sign. Допустимые конечные знаки определяются свойствами PositiveSign и NegativeSign.Valid trailing sign characters are determined by the PositiveSign and NegativeSign properties.

AllowTrailingWhite AllowTrailingWhite AllowTrailingWhite AllowTrailingWhite 2

Указывает, что анализируемая строка может оканчиваться знаками пробела.Indicates that trailing white-space characters can be present in the parsed string. Допустимые знаки пробела имеют следующие значения в кодировке Юникод: U+0009, U+000A, U+000B, U+000C, U+000D и U+0020.Valid white-space characters have the Unicode values U+0009, U+000A, U+000B, U+000C, U+000D, and U+0020. Обратите внимание, что это подмножество символов, для которых метод IsWhiteSpace(Char) возвращает значение true.Note that this is a subset of the characters for which the IsWhiteSpace(Char) method returns true.

Any Any Any Any 511

Указывает, что используются все стили, кроме AllowHexSpecifier.Indicates that all styles except AllowHexSpecifier are used. Это стили составного числа.This is a composite number style.

Currency Currency Currency Currency 383

Указывает, что используются все стили, кроме AllowExponent и AllowHexSpecifier.Indicates that all styles except AllowExponent and AllowHexSpecifier are used. Это стили составного числа.This is a composite number style.

Float Float Float Float 167

Указывает, что используются стили AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint и AllowExponent.Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint, and AllowExponent styles are used. Это стили составного числа.This is a composite number style.

HexNumber HexNumber HexNumber HexNumber 515

Указывает, что используются стили AllowLeadingWhite, AllowTrailingWhite и AllowHexSpecifier.Indicates that the AllowLeadingWhite, AllowTrailingWhite, and AllowHexSpecifier styles are used. Это стили составного числа.This is a composite number style.

Integer Integer Integer Integer 7

Указывает, что используются стили AllowLeadingWhite, AllowTrailingWhite и AllowLeadingSign.Indicates that the AllowLeadingWhite, AllowTrailingWhite, and AllowLeadingSign styles are used. Это стили составного числа.This is a composite number style.

None None None None 0

Указывает, что элементы стиля, такие как начальные или конечные пробел, тысячи сепараторы или десятичного разделителя, не могут присутствовать в анализируемой строки.Indicates that no style elements, such as leading or trailing white space, thousands separators, or a decimal separator, can be present in the parsed string. Анализируемая строка должна состоять только из целых десятичных чисел.The string to be parsed must consist of integral decimal digits only.

Number Number Number Number 111

Указывает, что используются стили AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint и AllowThousands.Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint, and AllowThousands styles are used. Это стили составного числа.This is a composite number style.

Примеры

В этом примере показано, как преобразовать строку в 32-разрядное целое число с использованием различных AllowHexSpecifier флаги.This example shows how to parse a string into a 32-bit integer by using various AllowHexSpecifier flags.

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

Комментарии

NumberStyles Перечисление состоит из двух типов значений перечисления, которые используются для синтаксического анализа строковых представлений числовых значений:The NumberStyles enumeration consists of two kinds of enumeration values that are used to parse the string representations of numeric values:

  • Флаги отдельного поля, которые определяют элементы определенного стиля (например, пробелы и разделители групп), которые могут присутствовать в анализируемой строке.Individual field flags, which define specific style elements (such as white space and group separators) that can be present in the parsed string.

  • Стили составного числа, которые состоят из нескольких поле флагов, определяющих элементы стиля, которые могут присутствовать в анализируемой строке.Composite number styles, which consist of multiple field flags that define the style elements that can be present in the parsed string.

За исключением AllowHexSpecifier, флаги отдельного поля в AllowHexSpecifier определять элементы стиля, которые используются при синтаксическом анализе строковое представление десятичного числа.Except for AllowHexSpecifier, the individual field flags in the AllowHexSpecifier enumeration define style elements that are used when parsing the string representation of a decimal number. NONE указывает, что только цифры могут присутствовать в анализируемой строке.None indicates that only digits can be present in the parsed string. Остальные флаги отдельного поля определяют элементы стиля, которые, возможно, но не нужно быть, присутствующие в строковое представление десятичного числа операции синтаксического анализа для успешного выполнения.The remaining individual field flags define style elements that may be, but do not have to be, present in the string representation of a decimal number for the parse operation to succeed. Напротив AllowHexSpecifier флаг указывает, что анализируемая строка всегда интерпретируется как шестнадцатеричное значение.In contrast, the AllowHexSpecifier flag indicates that the string to be parsed is always interpreted as a hexadecimal value. Флаги только отдельного поля, которые могут использоваться с AllowHexSpecifier — AllowLeadingWhite и AllowTrailingWhite.The only individual field flags that can be used with AllowHexSpecifier are AllowLeadingWhite and AllowTrailingWhite. NumberStyles Перечисления включает стили составного числа, шестнадцатеричное число, состоящее из всех трех флагов.The NumberStyles enumeration includes a composite number style, HexNumber, that consists of all three flags.

Символы (например, символ валюты, разделитель групп, десятичного разделителя и положительный и отрицательный знаки), которые могут присутствовать в анализируемой строке определяются членами System.Globalization.NumberFormatInfo объект, передаваемый явно или неявно Чтобы Parse метод.The symbols (such as the currency symbol, the group separator, the decimal separator, and the positive and negative signs) that can appear in the string to be parsed are defined by the members of the System.Globalization.NumberFormatInfo object that is passed either implicitly or explicitly to the Parse method. В таблице членов в этом разделе приведено описание каждого отдельного флага и его связь с NumberFormatInfo свойства.The members table in this topic provides a description of each individual flag and indicates its relationship to NumberFormatInfo properties.

В следующей таблице перечислены стили составного числа и указывает, какие флаги отдельного поля, они включают в себя.The following table lists the composite number styles and indicates which individual field flags they include. «1» в ячейке указывает, что стили составного числа включает указанный в этой строке.A "1" in a cell indicates that the composite number style includes the individual number style in that row. «0» указывает, что стили составного числа не включает.A "0" indicates that the composite number style does not include the individual number style.

ЛюбойAny ВалютаCurrency FloatFloat Целое числоInteger ЧислоNumber Шестнадцатеричное числоHexNumber
AllowHexSpecifier (0x0200)AllowHexSpecifier (0x0200) 00 00 00 00 00 11
AllowCurrencySymbol (0x0100)AllowCurrencySymbol (0x0100) 11 11 00 00 00 00
AllowExponent (0x0080)AllowExponent (0x0080) 11 00 11 00 00 00
AllowThousands (0x0040)AllowThousands (0x0040) 11 11 00 00 11 00
AllowDecimalPoint (0x0020)AllowDecimalPoint (0x0020) 11 11 11 00 11 00
AllowParentheses (0x0010)AllowParentheses (0x0010) 11 11 00 00 00 00
AllowTrailingSign (0x0008)AllowTrailingSign (0x0008) 11 11 00 00 11 00
AllowLeadingSign (0x0004)AllowLeadingSign (0x0004) 11 11 11 11 11 00
AllowTrailingWhite (0x0002)AllowTrailingWhite (0x0002) 11 11 11 11 11 11
AllowLeadingWhite (0x0001)AllowLeadingWhite (0x0001) 11 11 11 11 11 11
(0x1ff)(0x1ff) (0x17f)(0x17f) (0x0a7)(0x0a7) (0x007)(0x007) (0x06f)(0x06f) (0x203)(0x203)

Применяется к

Дополнительно