Decimal.ToUInt16 Method (Decimal)

.NET Framework (current version)

Note

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

clsCompliantAlternativeM:System.Decimal.ToInt32(System.Decimal)

Converts the value of the specified Decimal to the equivalent 16-bit unsigned integer.

This API is not CLS-compliant.

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

Syntax

```[CLSCompliantAttribute(false)]
public static ushort ToUInt16(
decimal value
)
```

Parameters

value
Type: System.Decimal

The decimal number to convert.

Return Value

Type: System.UInt16

A 16-bit unsigned integer equivalent to the value of value.

Exceptions

Exception Condition
OverflowException

value is greater than UInt16.MaxValue or less than UInt16.MinValue.

Remarks

The return value is the integral part of the decimal value; fractional digits are truncated.

You can also convert a Decimal value to a 16-bit unsigned integer by using the Explicit(Decimal to UInt16) assignment operator. Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

Examples

The following example uses the ToUInt16 method to convert decimal numbers to UInt16 values.

```using System;

class Example
{
public static void Main( )
{
decimal[] values = { 123m, new Decimal(123000, 0, 0, false, 3),
123.999m, 65535.999m, 65536m,
32767.999m, 32768m, -0.999m,
-1m,  -32768.999m, -32769m };

foreach (var value in values) {
try {
ushort number = Decimal.ToUInt16(value);
Console.WriteLine("{0} --> {1}", value, number);
}
catch (OverflowException e)
{
Console.WriteLine("{0}: {1}", e.GetType().Name, value);
}
}
}
}
// The example displays the following output:
//     123 --> 123
//     123.000 --> 123
//     123.999 --> 123
//     65535.999 --> 65535
//     OverflowException: 65536
//     32767.999 --> 32767
//     32768 --> 32768
//     -0.999 --> 0
//     OverflowException: -1
//     OverflowException: -32768.999
//     OverflowException: -32769
```

Version Information

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1