Char.IsNumber Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Показывает, относится ли символ Юникода к категории цифр.
Перегрузки
IsNumber(String, Int32) |
Показывает, относится ли указанный символ в указанной позиции в указанной строке к категории цифр. |
IsNumber(Char) |
Показывает, относится ли указанный символ Юникода к категории цифр. |
IsNumber(String, Int32)
Показывает, относится ли указанный символ в указанной позиции в указанной строке к категории цифр.
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
в s
является цифрой; в противном случае — значение false
.
Исключения
s
имеет значение null
.
Параметр index
имеет значение меньше нуля или больше последней позиции в s
.
Примеры
В следующем примере демонстрируется IsNumber .
using namespace System;
int main()
{
String^ str = "non-numeric";
Console::WriteLine( Char::IsNumber( '8' ) ); // Output: "True"
Console::WriteLine( Char::IsNumber( str, 3 ) ); // Output: "False"
}
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 является ли десятичная цифрой основанием.
Позиции символов в строке индексируются начиная с нуля.
Важно!
IsNumber(String, Int32)Метод не предназначен для определения того, состоит ли строка из числовых символов (например, путем вызова метода для каждого символа в строке). Чтобы определить, состоит ли строка из числовых символов, вызовите одну из перегрузок TryParse
метода (например, Int32.TryParse или Double.TryParse типа с плавающей запятой или целого числа).
Допустимые числа — это элементы UnicodeCategory.DecimalDigitNumber UnicodeCategory.LetterNumber категории, или UnicodeCategory.OtherNumber .
Если Char объект в позиции index
является первым символом допустимой суррогатной пары, IsNumber(String, Int32) метод определяет, образует ли суррогатная пара цифровую цифру. Например, система нумерации Эгейский Университет состоит из кодовых точек U + 10107 через U + 10133. В следующем примере метод используется ConvertFromUtf32 для создания экземпляра строки, представляющей ЭГЕЙСКИЙ университет номер 1. Как видно из выходных данных в примере, IsNumber(String, Int32) метод возвращает, true
если он передается старшим СУРРОГАТОМ ЭГЕЙСКИЙ университет числа 1. Однако если он передается младшим символом-заместителем, он считает только категорию младших суррогатов и возвращает 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
См. также раздел
Применяется к
IsNumber(Char)
Показывает, относится ли указанный символ Юникода к категории цифр.
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 namespace System;
int main()
{
String^ str = "non-numeric";
Console::WriteLine( Char::IsNumber( '8' ) ); // Output: "True"
Console::WriteLine( Char::IsNumber( str, 3 ) ); // Output: "False"
}
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 является ли десятичная цифрой основанием.
Важно!
IsNumber(Char)Метод не предназначен для определения того, состоит ли строка из числовых символов (например, путем вызова метода для каждого символа в строке). Чтобы определить, состоит ли строка из числовых символов, вызовите одну из перегрузок TryParse
метода (например, Int32.TryParse или Double.TryParse типа с плавающей запятой или целого числа).
Допустимые числа — это элементы UnicodeCategory.DecimalDigitNumber UnicodeCategory.LetterNumber категории, или UnicodeCategory.OtherNumber .
IsNumber(Char)Метод предполагает, что c
соответствует одному лингвистическому символу и проверяет, представляет ли этот символ число. Однако некоторые числа в стандарте Юникода представлены двумя Char объектами, которые формируют суррогатную пару. Например, система нумерации Эгейский Университет состоит из кодовых точек U + 10107 через U + 10133. В следующем примере метод используется ConvertFromUtf32 для создания экземпляра строки, представляющей ЭГЕЙСКИЙ университет номер 1. Как видно из выходных данных в примере, 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