Char.IsNumber Метод

Определение

Указывает, классифицируется ли символ Юникода как число.

Перегрузки

Имя Описание
IsNumber(Char)

Указывает, классифицируется ли указанный символ Юникода как число.

IsNumber(String, Int32)

Указывает, классифицируется ли символ в указанной позиции в указанной строке как число.

IsNumber(Char)

Исходный код:
Char.cs
Исходный код:
Char.cs
Исходный код:
Char.cs
Исходный код:
Char.cs
Исходный код:
Char.cs

Указывает, классифицируется ли указанный символ Юникода как число.

public:
 static bool IsNumber(char c);
public static bool IsNumber(char c);
static member IsNumber : char -> bool
Public Shared Function IsNumber (c As Char) As Boolean

Параметры

c
Char

Символ Юникода для вычисления.

Возвращаемое значение

true Значение , если c число; в противном случае false.

Примеры

В следующем примере показано IsNumber.

using System;

public class IsNumberSample {
    public static void Main() {
        string str = "non-numeric";

        Console.WriteLine(Char.IsNumber('8'));		// Output: "True"
        Console.WriteLine(Char.IsNumber(str, 3));	// Output: "False"
    }
}
open System

let str = "non-numeric"

printfn $"{Char.IsNumber '8'}"      // Output: "True"
printfn $"{Char.IsNumber(str, 3)}"  // Output: "False"
Module IsNumberSample
    Sub Main()
        Dim str As String
        str = "non-numeric"

        Console.WriteLine(Char.IsNumber("8"c))      ' Output: "True"
        Console.WriteLine(Char.IsNumber(str, 3))    ' Output: "False"
    End Sub
End Module

Комментарии

Этот метод определяет, является ли Char какой-либо числовой категорией Юникода. Помимо цифр, цифры включают символы, дроби, подстроки, надстрочные символы, римские числовые числа, числовые знаки валют и закрепленные числа. Этот метод контрастирует с IsDigit методом, который определяет, является ли Char значение радикс-10 цифрой.

Important

Метод IsNumber(Char) не предназначен для определения того, состоит ли строка из числовых символов (например, путем вызова метода для каждого символа в строке). Чтобы определить, состоит ли строка из числовых символов, вызовите одну из перегрузок TryParse метода (например Int32.TryParse , Double.TryParse целочисленного или плавающего типа.

Допустимые числа — это члены UnicodeCategory.DecimalDigitNumberкатегории , UnicodeCategory.LetterNumberили UnicodeCategory.OtherNumber категории.

Метод IsNumber(Char) предполагает, что соответствует одному лингвистическому символу и проверяет, c представляет ли этот символ число. Однако некоторые числа в стандарте Юникода представлены двумя Char объектами, которые образуют суррогатную пару. Например, система нумерового номера Эгейского моря состоит из кодовых точек U+10107 до U+10133. В следующем примере метод используется ConvertFromUtf32 для создания экземпляра строки, представляющей ЭГЕЙСКИЙ НОМЕР ОДИН. Как показано в выходных данных из примера, метод возвращаетсяIsNumber(Char), false если он передается либо с высоким суррогатом, либо низким суррогатом этого символа.

int utf32 = 0x10107;      // AEGEAN NUMBER ONE
string surrogate = Char.ConvertFromUtf32(utf32);
foreach (var ch in surrogate)
   Console.WriteLine("U+{0:X4}: {1}", Convert.ToUInt16(ch),
                                    Char.IsNumber(ch));

// The example displays the following output:
//       U+D800: False
//       U+DD07: False
let utf32 = 0x10107      // AEGEAN NUMBER ONE
let surrogate = Char.ConvertFromUtf32 utf32
for ch in surrogate do
    printfn $"U+{Convert.ToUInt16 ch:X4}: {Char.IsNumber ch}"

// The example displays the following output:
//       U+D800: False
//       U+DD07: False
Dim utf32 As Integer = &h10107      ' AEGEAN NUMBER ONE
Dim surrogate As String = Char.ConvertFromUtf32(utf32)
For Each ch In surrogate
   Console.WriteLine("U+{0:X4}: {1}", Convert.ToUInt16(ch), 
                                    Char.IsNumber(ch))
Next
' The example displays the following output:
'       U+D800: False
'       U+DD07: False

См. также раздел

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

IsNumber(String, Int32)

Исходный код:
Char.cs
Исходный код:
Char.cs
Исходный код:
Char.cs
Исходный код:
Char.cs
Исходный код:
Char.cs

Указывает, классифицируется ли символ в указанной позиции в указанной строке как число.

public:
 static bool IsNumber(System::String ^ s, int index);
public static bool IsNumber(string s, int index);
static member IsNumber : string * int -> bool
Public Shared Function IsNumber (s As String, index As Integer) As Boolean

Параметры

s
String

Строка.

index
Int32

Позиция символа для вычисления sв .

Возвращаемое значение

trueЗначение , indexесли символ в позиции sfalse является числом; в противном случае .

Исключения

s равно null.

index меньше нуля или больше последней позиции в s.

Примеры

В следующем примере показано IsNumber.

using System;

public class IsNumberSample {
    public static void Main() {
        string str = "non-numeric";

        Console.WriteLine(Char.IsNumber('8'));		// Output: "True"
        Console.WriteLine(Char.IsNumber(str, 3));	// Output: "False"
    }
}
open System

let str = "non-numeric"

printfn $"{Char.IsNumber '8'}"      // Output: "True"
printfn $"{Char.IsNumber(str, 3)}"  // Output: "False"
Module IsNumberSample
    Sub Main()
        Dim str As String
        str = "non-numeric"

        Console.WriteLine(Char.IsNumber("8"c))      ' Output: "True"
        Console.WriteLine(Char.IsNumber(str, 3))    ' Output: "False"
    End Sub
End Module

Комментарии

Этот метод определяет, является ли Char какой-либо числовой категорией Юникода. Помимо цифр, цифры включают символы, дроби, подстроки, надстрочные символы, римские числовые числа, числовые знаки валют и закрепленные числа. Этот метод контрастирует с IsDigit методом, который определяет, является ли Char значение радикс-10 цифрой.

Позиции символов в строке индексируются начиная с нуля.

Important

Метод IsNumber(String, Int32) не предназначен для определения того, состоит ли строка из числовых символов (например, путем вызова метода для каждого символа в строке). Чтобы определить, состоит ли строка из числовых символов, вызовите одну из перегрузок TryParse метода (например Int32.TryParse , Double.TryParse целочисленного или плавающего типа.

Допустимые числа — это члены UnicodeCategory.DecimalDigitNumberкатегории , UnicodeCategory.LetterNumberили UnicodeCategory.OtherNumber категории.

Char Если объект в позиции index является первым символом допустимой суррогатной пары, метод определяет, IsNumber(String, Int32) формирует ли суррогатная пара числовую цифру. Например, система нумерового номера Эгейского моря состоит из кодовых точек U+10107 до U+10133. В следующем примере метод используется ConvertFromUtf32 для создания экземпляра строки, представляющей ЭГЕЙСКИЙ НОМЕР ОДИН. Как показано в выходных данных из примера, метод возвращаетсяIsNumber(String, Int32), true если он передается с высоким суррогатом ЭГЕЙСКОГО НОМЕРА ONE. Однако, если он передается низкой суррогатной, он считает только категорию низкой суррогатной и возвращается false.

int utf32 = 0x10107;      // AEGEAN NUMBER ONE
string surrogate = Char.ConvertFromUtf32(utf32);
for (int ctr = 0; ctr < surrogate.Length; ctr++)
   Console.WriteLine("U+{0:X4} at position {1}: {2}",
                     Convert.ToUInt16(surrogate[ctr]), ctr,
                     Char.IsNumber(surrogate, ctr));
// The example displays the following output:
//       U+D800 at position 0: True
//       U+DD07 at position 1: False
let utf32 = 0x10107      // AEGEAN NUMBER ONE
let surrogate = Char.ConvertFromUtf32 utf32
for i = 0 to surrogate.Length - 1 do
    printfn $"U+{Convert.ToUInt16 surrogate[i]:X4} at position {i}: {Char.IsNumber(surrogate, i)}"
                    
// The example displays the following output:
//       U+D800 at position 0: True
//       U+DD07 at position 1: False
Dim utf32 As Integer = &h10107      ' AEGEAN NUMBER ONE
Dim surrogate As String = Char.ConvertFromUtf32(utf32)
For ctr As Integer = 0 To surrogate.Length - 1
   Console.WriteLine("U+{0:X4} at position {1}: {2}", 
                     Convert.ToUInt16(surrogate(ctr)), ctr,  
                     Char.IsNumber(surrogate, ctr))
Next
' The example displays the following output:
'       U+D800 at position 0: True
'       U+DD07 at position 1: False

См. также раздел

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