This documentation is archived and is not being maintained.

# Decimal.ToUInt16 Method

Visual Studio 2010

Updated: May 2012

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

This API is not CLS-compliant. The CLS-compliant alternative is ToInt32(Decimal).

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

ExceptionCondition
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.

## 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

#### .NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

#### .NET Framework Client Profile

Supported in: 4, 3.5 SP1

#### Portable Class Library

Supported in: Portable Class Library

## Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

## Change History

Date

History

Reason

May 2012

Replaced the example.

Customer feedback.

Show: