Aracılığıyla paylaş


Char.IsNumber Yöntem

Tanım

Unicode karakterinin sayı olarak kategorilere ayrılmadığını gösterir.

Aşırı Yüklemeler

IsNumber(String, Int32)

Belirtilen dizedeki belirtilen konumdaki karakterin sayı olarak kategorilere ayrılmadığını gösterir.

IsNumber(Char)

Belirtilen Unicode karakterinin sayı olarak kategorilere ayrılmadığını gösterir.

IsNumber(String, Int32)

Belirtilen dizedeki belirtilen konumdaki karakterin sayı olarak kategorilere ayrılmadığını gösterir.

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

Parametreler

s
String

Bir dize.

index
Int32

İçinde değerlendirilecek karakterin konumu s .

Döndürülenler

Boolean

true konumundaki karakter index s bir sayı ise, aksi durumda, false .

Özel durumlar

s, null değeridir.

index sıfırdan küçük veya en son konumdan büyük s .

Örnekler

Aşağıdaki örnekte gösterilmektedir 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

Açıklamalar

Bu yöntem Char , bir sayısal Unicode kategorisi olup olmadığını belirler. Rakam, sayı, kesir, alt simge, alt simge, Latin rakamları, para birimi ayırıcısı ve şifreleme sayıları dahil olmak üzere ek olarak. Bu yöntem, bir için IsDigit bir Char radyan x-10 basamağı olup olmadığını belirleyen yöntemiyle karşıtdır.

Bir dizedeki karakter konumları sıfırdan başlayarak dizine alınır.

Önemli

IsNumber(String, Int32)Yöntemi, bir dizenin sayısal karakterlerden (örneğin, bir dizedeki her karakter için yöntemini çağırarak) olup olmadığını belirleme amacını taşımamaktadır. Bir dizenin sayısal karakterlerden oluştuğunu anlamak için, metodun aşırı yüklerinden birini TryParse (örneğin Int32.TryParse Double.TryParse , bir integral veya kayan nokta türü) çağırın.

Geçerli sayılar UnicodeCategory.DecimalDigitNumber , UnicodeCategory.LetterNumber , veya UnicodeCategory.OtherNumber kategorisinin üyeleridir.

CharKonumdaki nesne index geçerli bir vekil çiftinin ilk karakteri ise, bu IsNumber(String, Int32) Yöntem, vekil çiftin sayısal bir sayı olup olmadığını belirler. Örneğin, Aegean numaralandırma sistemi U+10107 ile U+10133 arasında kod noktalarından oluşur. Aşağıdaki örnek, ConvertFromUtf32 AEGEAN numarasını temsil eden bir dizeyi başlatmak için yöntemini kullanır. Örneğin çıkışının gösterdiği gibi, IsNumber(String, Int32) yöntemi, true AEGEAN numarasının bir üst yedeği geçirildiğinde döndürülür. Ancak, düşük yedeği geçirtiyse, yalnızca düşük yedek kategorisini değerlendirir ve döndürür 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

Ayrıca bkz.

Şunlara uygulanır

IsNumber(Char)

Belirtilen Unicode karakterinin sayı olarak kategorilere ayrılmadığını gösterir.

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

Parametreler

c
Char

Değerlendirilecek Unicode karakteri.

Döndürülenler

Boolean

truecbir sayı ise, aksi durumda, false .

Örnekler

Aşağıdaki örnekte gösterilmektedir 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

Açıklamalar

Bu yöntem Char , bir sayısal Unicode kategorisi olup olmadığını belirler. Rakam, sayı, kesir, alt simge, alt simge, Latin rakamları, para birimi ayırıcısı ve şifreleme sayıları dahil olmak üzere ek olarak. Bu yöntem, bir için IsDigit bir Char radyan x-10 basamağı olup olmadığını belirleyen yöntemiyle karşıtdır.

Önemli

IsNumber(Char)Yöntemi, bir dizenin sayısal karakterlerden (örneğin, bir dizedeki her karakter için yöntemini çağırarak) olup olmadığını belirleme amacını taşımamaktadır. Bir dizenin sayısal karakterlerden oluştuğunu anlamak için, metodun aşırı yüklerinden birini TryParse (örneğin Int32.TryParse Double.TryParse , bir integral veya kayan nokta türü) çağırın.

Geçerli sayılar UnicodeCategory.DecimalDigitNumber , UnicodeCategory.LetterNumber , veya UnicodeCategory.OtherNumber kategorisinin üyeleridir.

IsNumber(Char)Yöntemi, c tek bir dil karakterine karşılık gelen olduğunu varsayar ve bu karakterin bir sayıyı temsil edip etmediğini denetler. Ancak, Unicode standartdaki bazı sayılar, Char bir vekil çift oluşturan iki nesne tarafından temsil edilir. Örneğin, Aegean numaralandırma sistemi U+10107 ile U+10133 arasında kod noktalarından oluşur. Aşağıdaki örnek, ConvertFromUtf32 AEGEAN numarasını temsil eden bir dizeyi başlatmak için yöntemini kullanır. Örneğin çıkışının gösterdiği gibi, IsNumber(Char) yöntemi, false Bu karakterin yüksek bir yedeği veya düşük bir yedeği geçirildiğinde döndürülür.

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

Ayrıca bkz.

Şunlara uygulanır