Char.GetNumericValue Char.GetNumericValue Char.GetNumericValue Char.GetNumericValue Method

Определение

Преобразовывает указанный числовой символ Юникода в число двойной точности с плавающей запятой.Converts a specified numeric Unicode character to a double-precision floating-point number.

Перегрузки

GetNumericValue(String, Int32) GetNumericValue(String, Int32) GetNumericValue(String, Int32) GetNumericValue(String, Int32)

Преобразует числовой символ Юникода в указанной позиции в указанной строке в число двойной точности с плавающей запятой.Converts the numeric Unicode character at the specified position in a specified string to a double-precision floating point number.

GetNumericValue(Char) GetNumericValue(Char) GetNumericValue(Char) GetNumericValue(Char)

Преобразует указанный числовой символ Юникода в число двойной точности с плавающей запятой.Converts the specified numeric Unicode character to a double-precision floating point number.

GetNumericValue(String, Int32) GetNumericValue(String, Int32) GetNumericValue(String, Int32) GetNumericValue(String, Int32)

Преобразует числовой символ Юникода в указанной позиции в указанной строке в число двойной точности с плавающей запятой.Converts the numeric Unicode character at the specified position in a specified string to a double-precision floating point number.

public:
 static double GetNumericValue(System::String ^ s, int index);
public static double GetNumericValue (string s, int index);
static member GetNumericValue : string * int -> double
Public Shared Function GetNumericValue (s As String, index As Integer) As Double

Параметры

s
String String String String

Объект String.A String.

index
Int32 Int32 Int32 Int32

Позиция символа в s.The character position in s.

Возвраты

Числовое значение символа в позиции index в s, если данный символ представляет число; в противном случае — значение -1.The numeric value of the character at position index in s if that character represents a number; otherwise, -1.

Исключения

Параметр index имеет значение меньше нуля или больше последней позиции в s.index is less than zero or greater than the last position in s.

Примеры

В следующем примере кода демонстрируется GetNumericValue.The following code example demonstrates GetNumericValue.

using namespace System;
int main()
{
   String^ str =  "input: 1";
   Console::WriteLine( Char::GetNumericValue( '8' ) ); // Output: "8"
   Console::WriteLine( Char::GetNumericValue( str, 7 ) ); // Output: "1"
}

using System;

public class GetNumericValueSample {
    public static void Main() {
        string str = "input: 1";

        Console.WriteLine(Char.GetNumericValue('8'));		// Output: "8"
        Console.WriteLine(Char.GetNumericValue(str, 7));	// Output: "1"
    }
}
Module GetNumericValueSample
    Sub Main()
        Dim str As String
        str = "input: 1"

        Console.WriteLine(Char.GetNumericValue("8"c))       ' Output: "8"
        Console.WriteLine(Char.GetNumericValue(str, 7))     ' Output: "1"
    End Sub
End Module

Комментарии

s Параметр должен быть строковым представлением числового значения.The s parameter must be the string representation of a numeric value. Например, если символ в позиции index в s равен «5», то возвращаемое значение равно 5.For example, if the character at position index in s is "5", the return value is 5. Однако, если символ в позиции index в s имеет значение z, возвращаемым значением является-1.However, if the character at position index in s is "z", the return value is -1.

Позиции символов в строке индексируются начиная с нуля.Character positions in a string are indexed starting from zero.

Символ имеет связанное числовое значение только в том случае, если он является членом одной из следующих UnicodeCategory категорий: DecimalDigitNumber, LetterNumberили OtherNumber.A character has an associated numeric value if and only if it is a member of one of the following UnicodeCategory categories: DecimalDigitNumber, LetterNumber, or OtherNumber.

Если объект в позиции index является первым символом GetNumericValue(String, Int32) допустимой суррогатной пары, метод определяет, образует ли суррогатная пара цифровую цифру. CharIf the Char object at position index is the first character of a valid surrogate pair, the GetNumericValue(String, Int32) method determines whether the surrogate pair forms a numeric digit. Например, система нумерации Эгейский Университет состоит из кодовых точек U + 10107 через U + 10133.For example, the Aegean numbering system consists of code points U+10107 through U+10133. В следующем примере ConvertFromUtf32 метод используется для создания экземпляра строки, представляющей каждое Эгейский университет число.The following example uses the ConvertFromUtf32 method to instantiate a string that represents each Aegean number. Как видно из выходных данных в примере, GetNumericValue(String, Int32) метод возвращает правильное числовое значение, если оно передается старшим суррогатом числа Эгейский университет.As the output from the example shows, the GetNumericValue(String, Int32) method returns the correct numeric value if it is passed the high surrogate of an Aegean number. Однако если он передается младшим суррогатом, он считает только младший суррогат в изоляции и возвращает значение-1.However, if it is passed the low surrogate, it considers only the low surrogate in isolation and returns -1.

// Define a UTF32 value for each character in the 
// Aegean numbering system.
for (int utf32 = 0x10107; utf32 <= 0x10133; utf32++) {
   string surrogate = Char.ConvertFromUtf32(utf32);
   for (int ctr = 0; ctr < surrogate.Length; ctr++) 
      Console.Write("U+{0:X4} at position {1}: {2}     ", 
                        Convert.ToUInt16(surrogate[ctr]), ctr,  
                        Char.GetNumericValue(surrogate, ctr));

   Console.WriteLine();
}    
// The example displays the following output:
//       U+D800 at position 0: 1     U+DD07 at position 1: -1
//       U+D800 at position 0: 2     U+DD08 at position 1: -1
//       U+D800 at position 0: 3     U+DD09 at position 1: -1
//       U+D800 at position 0: 4     U+DD0A at position 1: -1
//       U+D800 at position 0: 5     U+DD0B at position 1: -1
//       U+D800 at position 0: 6     U+DD0C at position 1: -1
//       U+D800 at position 0: 7     U+DD0D at position 1: -1
//       U+D800 at position 0: 8     U+DD0E at position 1: -1
//       U+D800 at position 0: 9     U+DD0F at position 1: -1
//       U+D800 at position 0: 10     U+DD10 at position 1: -1
//       U+D800 at position 0: 20     U+DD11 at position 1: -1
//       U+D800 at position 0: 30     U+DD12 at position 1: -1
//       U+D800 at position 0: 40     U+DD13 at position 1: -1
//       U+D800 at position 0: 50     U+DD14 at position 1: -1
//       U+D800 at position 0: 60     U+DD15 at position 1: -1
//       U+D800 at position 0: 70     U+DD16 at position 1: -1
//       U+D800 at position 0: 80     U+DD17 at position 1: -1
//       U+D800 at position 0: 90     U+DD18 at position 1: -1
//       U+D800 at position 0: 100     U+DD19 at position 1: -1
//       U+D800 at position 0: 200     U+DD1A at position 1: -1
//       U+D800 at position 0: 300     U+DD1B at position 1: -1
//       U+D800 at position 0: 400     U+DD1C at position 1: -1
//       U+D800 at position 0: 500     U+DD1D at position 1: -1
//       U+D800 at position 0: 600     U+DD1E at position 1: -1
//       U+D800 at position 0: 700     U+DD1F at position 1: -1
//       U+D800 at position 0: 800     U+DD20 at position 1: -1
//       U+D800 at position 0: 900     U+DD21 at position 1: -1
//       U+D800 at position 0: 1000     U+DD22 at position 1: -1
//       U+D800 at position 0: 2000     U+DD23 at position 1: -1
//       U+D800 at position 0: 3000     U+DD24 at position 1: -1
//       U+D800 at position 0: 4000     U+DD25 at position 1: -1
//       U+D800 at position 0: 5000     U+DD26 at position 1: -1
//       U+D800 at position 0: 6000     U+DD27 at position 1: -1
//       U+D800 at position 0: 7000     U+DD28 at position 1: -1
//       U+D800 at position 0: 8000     U+DD29 at position 1: -1
//       U+D800 at position 0: 9000     U+DD2A at position 1: -1
//       U+D800 at position 0: 10000     U+DD2B at position 1: -1
//       U+D800 at position 0: 20000     U+DD2C at position 1: -1
//       U+D800 at position 0: 30000     U+DD2D at position 1: -1
//       U+D800 at position 0: 40000     U+DD2E at position 1: -1
//       U+D800 at position 0: 50000     U+DD2F at position 1: -1
//       U+D800 at position 0: 60000     U+DD30 at position 1: -1
//       U+D800 at position 0: 70000     U+DD31 at position 1: -1
//       U+D800 at position 0: 80000     U+DD32 at position 1: -1
//       U+D800 at position 0: 90000     U+DD33 at position 1: -1
' Define a UTF32 value for each character in the 
' Aegean numbering system.
For utf32 As Integer = &h10107 To &h10133
   Dim surrogate As String = Char.ConvertFromUtf32(utf32)
   For ctr As Integer = 0 To surrogate.Length - 1
      Console.Write("U+{0:X4} at position {1}: {2}     ", 
                        Convert.ToUInt16(surrogate(ctr)), ctr,  
                        Char.GetNumericValue(surrogate, ctr))
   Next
   Console.WriteLine()
Next    
' The example displays the following output:
'       U+D800 at position 0: 1     U+DD07 at position 1: -1
'       U+D800 at position 0: 2     U+DD08 at position 1: -1
'       U+D800 at position 0: 3     U+DD09 at position 1: -1
'       U+D800 at position 0: 4     U+DD0A at position 1: -1
'       U+D800 at position 0: 5     U+DD0B at position 1: -1
'       U+D800 at position 0: 6     U+DD0C at position 1: -1
'       U+D800 at position 0: 7     U+DD0D at position 1: -1
'       U+D800 at position 0: 8     U+DD0E at position 1: -1
'       U+D800 at position 0: 9     U+DD0F at position 1: -1
'       U+D800 at position 0: 10     U+DD10 at position 1: -1
'       U+D800 at position 0: 20     U+DD11 at position 1: -1
'       U+D800 at position 0: 30     U+DD12 at position 1: -1
'       U+D800 at position 0: 40     U+DD13 at position 1: -1
'       U+D800 at position 0: 50     U+DD14 at position 1: -1
'       U+D800 at position 0: 60     U+DD15 at position 1: -1
'       U+D800 at position 0: 70     U+DD16 at position 1: -1
'       U+D800 at position 0: 80     U+DD17 at position 1: -1
'       U+D800 at position 0: 90     U+DD18 at position 1: -1
'       U+D800 at position 0: 100     U+DD19 at position 1: -1
'       U+D800 at position 0: 200     U+DD1A at position 1: -1
'       U+D800 at position 0: 300     U+DD1B at position 1: -1
'       U+D800 at position 0: 400     U+DD1C at position 1: -1
'       U+D800 at position 0: 500     U+DD1D at position 1: -1
'       U+D800 at position 0: 600     U+DD1E at position 1: -1
'       U+D800 at position 0: 700     U+DD1F at position 1: -1
'       U+D800 at position 0: 800     U+DD20 at position 1: -1
'       U+D800 at position 0: 900     U+DD21 at position 1: -1
'       U+D800 at position 0: 1000     U+DD22 at position 1: -1
'       U+D800 at position 0: 2000     U+DD23 at position 1: -1
'       U+D800 at position 0: 3000     U+DD24 at position 1: -1
'       U+D800 at position 0: 4000     U+DD25 at position 1: -1
'       U+D800 at position 0: 5000     U+DD26 at position 1: -1
'       U+D800 at position 0: 6000     U+DD27 at position 1: -1
'       U+D800 at position 0: 7000     U+DD28 at position 1: -1
'       U+D800 at position 0: 8000     U+DD29 at position 1: -1
'       U+D800 at position 0: 9000     U+DD2A at position 1: -1
'       U+D800 at position 0: 10000     U+DD2B at position 1: -1
'       U+D800 at position 0: 20000     U+DD2C at position 1: -1
'       U+D800 at position 0: 30000     U+DD2D at position 1: -1
'       U+D800 at position 0: 40000     U+DD2E at position 1: -1
'       U+D800 at position 0: 50000     U+DD2F at position 1: -1
'       U+D800 at position 0: 60000     U+DD30 at position 1: -1
'       U+D800 at position 0: 70000     U+DD31 at position 1: -1
'       U+D800 at position 0: 80000     U+DD32 at position 1: -1
'       U+D800 at position 0: 90000     U+DD33 at position 1: -1

GetNumericValue(Char) GetNumericValue(Char) GetNumericValue(Char) GetNumericValue(Char)

Преобразует указанный числовой символ Юникода в число двойной точности с плавающей запятой.Converts the specified numeric Unicode character to a double-precision floating point number.

public:
 static double GetNumericValue(char c);
public static double GetNumericValue (char c);
static member GetNumericValue : char -> double
Public Shared Function GetNumericValue (c As Char) As Double

Параметры

c
Char Char Char Char

Знак Юникода, который необходимо преобразовать.The Unicode character to convert.

Возвраты

Числовое значение параметра c, если данный символ представляет число; в противном случае — значение -1,0.The numeric value of c if that character represents a number; otherwise, -1.0.

Примеры

В следующем примере демонстрируется GetNumericValue.The following example demonstrates GetNumericValue.

using namespace System;
int main()
{
   String^ str =  "input: 1";
   Console::WriteLine( Char::GetNumericValue( '8' ) ); // Output: "8"
   Console::WriteLine( Char::GetNumericValue( str, 7 ) ); // Output: "1"
}

using System;

public class GetNumericValueSample {
    public static void Main() {
        string str = "input: 1";

        Console.WriteLine(Char.GetNumericValue('8'));		// Output: "8"
        Console.WriteLine(Char.GetNumericValue(str, 7));	// Output: "1"
    }
}
Module GetNumericValueSample
    Sub Main()
        Dim str As String
        str = "input: 1"

        Console.WriteLine(Char.GetNumericValue("8"c))       ' Output: "8"
        Console.WriteLine(Char.GetNumericValue(str, 7))     ' Output: "1"
    End Sub
End Module

Комментарии

c Параметр должен Char быть представлением числового значения.The c parameter must be the Char representation of a numeric value. Например, если c равно «5», то возвращаемое значение равно 5.For example, if c is "5", the return value is 5. Однако если c параметр имеет значение z, возвращаемым значением является-1,0.However, if c is "z", the return value is -1.0.

Символ имеет связанное числовое значение только в том случае, если он является членом одной из следующих UnicodeCategory категорий: DecimalDigitNumber, LetterNumberили OtherNumber.A character has an associated numeric value if and only if it is a member of one of the following UnicodeCategory categories: DecimalDigitNumber, LetterNumber, or OtherNumber.

Метод предполагает, что c соответствует одному лингвистическому символу, и проверяет, можно ли преобразовать этот символ в десятичную цифру. GetNumericValueThe GetNumericValue method assumes that c corresponds to a single linguistic character and checks whether that character can be converted to a decimal digit. Однако некоторые числа в стандарте Юникода представлены двумя Char объектами, которые формируют суррогатную пару.However, some numbers in the Unicode standard are represented by two Char objects that form a surrogate pair. Например, система нумерации Эгейский Университет состоит из кодовых точек U + 10107 через U + 10133.For example, the Aegean numbering system consists of code points U+10107 through U+10133. В следующем примере ConvertFromUtf32 метод используется для создания экземпляра строки, представляющей Эгейский университет номер 1.The following example uses the ConvertFromUtf32 method to instantiate a string that represents AEGEAN NUMBER ONE. Как видно из выходных данных в примере, GetNumericValue(Char) метод возвращает значение-1, если ему передается старший суррогат или младший символ-заместитель этого символа.As the output from the example shows, the GetNumericValue(Char) method returns -1 if it is passed either a high surrogate or a low surrogate of this character.

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.GetNumericValue(ch));

// The example displays the following output:
//       U+D800: -1
//       U+DD07: -1
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.GetNumericValue(ch))
Next
' The example displays the following output:
'       U+D800: -1
'       U+DD07: -1

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