GetNumericValue Method (Char)
Collapse the table of content
Expand the table of content

Char.GetNumericValue Method (Char)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Converts the specified numeric Unicode character to a double-precision floating point number.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public static double GetNumericValue(
	char c
)

Parameters

c
Type: System.Char
A Unicode character.

Return Value

Type: System.Double
The numeric value of c if that character represents a number; otherwise, -1.0.

The c parameter must be the Char representation of a numeric value. For example, if c is '5', the return value is 5. However, if c is 'z', the return value is -1.0.

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.

The GetNumericValue method assumes that c corresponds to a single linguistic character and checks whether that character can be converted to a decimal digit. However, some numbers in the Unicode standard are represented by two Char objects that form a surrogate pair. For example, the Aegean numbering system consists of code points U+10107 through U+10133. The following example instantiates a string that represents AEGEAN NUMBER ONE. As the output from the example shows, the GetNumericValue method returns false if it is passed either a high surrogate or a low surrogate of this character.


string surrogate = "\uD800\uDD07";            // AEGEAN NUMBER ONE
foreach (var ch in surrogate)
   outputBlock.Text += String.Format("U+{0:X4}: {1}    ", Convert.ToUInt16(ch),
                                          Char.GetNumericValue(ch)) + "\n";

// The example displays the following output:
//       U+D800: -1
//       U+DD07: -1


The following example demonstrates GetNumericValue.


using System;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      string str = "input: 1";

      outputBlock.Text += Char.GetNumericValue('8') + "\n";        // Output: "8"
      outputBlock.Text += Char.GetNumericValue(str, 7) + "\n";     // Output: "1"
   }
}


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft