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