Decimal Implicit Conversion (Char to Decimal)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Converts a Unicode character to a Decimal.

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

Syntax

'Declaration
Public Shared Widening Operator CType ( _
    value As Char _
) As Decimal
public static implicit operator decimal (
    char value
)

Parameters

Return Value

Type: System.Decimal
A Decimal that represents the converted Unicode character.

Examples

The following code example converts Char values (Unicode characters) to Decimal numbers using the Char to Decimal conversion. This conversion is implicit in C#, but requires the op_Implicit operator in Visual Basic and C++. Implicit conversions to Decimal use other methods in these languages.

' Example of the op_Implicit conversion from Char to Decimal.
Imports System.Globalization

Module Example

   Const formatter As String = _
       "{0,6}{1,15}{2,10:X8}{3,9:X8}{4,9:X8}{5,9:X8}"

   ' Convert the Char argument and display the Decimal value.
   Sub DecimalFromChar(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal argument As Char)

      Dim decValue As Decimal
      Dim bits() As Integer

      ' The compiler invokes a constructor in Visual Basic 
      ' unless op_Implicit is explicitly called.
      decValue = Decimal.op_Implicit(argument)

      ' Display the Decimal and its binary representation.
      bits = Decimal.GetBits(decValue)
      outputBlock.Text &= String.Format(formatter, argument, decValue, _
          bits(3), bits(2), bits(1), bits(0)) & vbCrLf
   End Sub

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      outputBlock.Text &= String.Format( _
          "This example of the op_Implicit conversion from Char " & _
          "to Decimal generates the " & vbCrLf & "following " & _
          "output. It displays the Decimal value and its " & _
          "binary representation." & vbCrLf) & vbCrLf
      outputBlock.Text &= String.Format(formatter, "Char", _
          "Decimal value", "bits(3)", "bits(2)", _
          "bits(1)", "bits(0)") & vbCrLf
      outputBlock.Text &= String.Format(formatter, "----", _
          "-------------", "-------", "-------", _
          "-------", "-------") & vbCrLf

      ' Convert Char values and display the results.
      DecimalFromChar(outputBlock, ChrW(0))
      DecimalFromChar(outputBlock, " "c)
      DecimalFromChar(outputBlock, "*"c)
      DecimalFromChar(outputBlock, "A"c)
      DecimalFromChar(outputBlock, "a"c)
      DecimalFromChar(outputBlock, "{"c)
      DecimalFromChar(outputBlock, "Æ"c)
   End Sub
End Module

' This example of the op_Implicit conversion from Char to Decimal generates the
' following output. It displays the Decimal value and its binary representation.
' 
'     Char  Decimal value   bits(3)  bits(2)  bits(1)  bits(0)
'     ----  -------------   -------  -------  -------  -------  
'                       0  00000000 00000000 00000000 00000000
'                      32  00000000 00000000 00000000 00000020
'        *             42  00000000 00000000 00000000 0000002A
'        A             65  00000000 00000000 00000000 00000041
'        a             97  00000000 00000000 00000000 00000061
'        {            123  00000000 00000000 00000000 0000007B
'        Æ            198  00000000 00000000 00000000 000000C6
// Example of the implicit conversion from char to decimal.
using System;

class Example
{
   const string formatter =
       "{0,6}{1,15}{2,10:X8}{3,9:X8}{4,9:X8}{5,9:X8}";

   // Convert the char argument and display the decimal value.
   public static void DecimalFromChar(System.Windows.Controls.TextBlock outputBlock, char argument)
   {
      decimal decValue;
      int[] bits;

      // Display the decimal and its binary representation.
      decValue = argument;
      bits = decimal.GetBits(decValue);

      outputBlock.Text += String.Format(formatter, argument, decValue,
          bits[3], bits[2], bits[1], bits[0]) + "\n";
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.Text += String.Format(
          "This example of the implicit conversion from char to " +
          "decimal generates the \nfollowing output. It displays " +
          "the decimal value and its binary representation.\n") + "\n";
      outputBlock.Text += String.Format(formatter, "char",
          "decimal value", "bits[3]", "bits[2]",
          "bits[1]", "bits[0]") + "\n";
      outputBlock.Text += String.Format(formatter, "----",
          "-------------", "-------", "-------",
          "-------", "-------") + "\n";

      // Convert char values and display the results.
      DecimalFromChar(outputBlock, '\0');
      DecimalFromChar(outputBlock, ' ');
      DecimalFromChar(outputBlock, '*');
      DecimalFromChar(outputBlock, 'A');
      DecimalFromChar(outputBlock, 'a');
      DecimalFromChar(outputBlock, '{');
      DecimalFromChar(outputBlock, 'Æ');
   }
}

/*
This example of the implicit conversion from char to decimal generates the
following output. It displays the decimal value and its binary representation.

  char  decimal value   bits[3]  bits[2]  bits[1]  bits[0]
  ----  -------------   -------  -------  -------  -------
                    0  00000000 00000000 00000000 00000000
                   32  00000000 00000000 00000000 00000020
     *             42  00000000 00000000 00000000 0000002A
     A             65  00000000 00000000 00000000 00000041
     a             97  00000000 00000000 00000000 00000061
     {            123  00000000 00000000 00000000 0000007B
     Æ            198  00000000 00000000 00000000 000000C6
*/

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.