Decimal.ToInt16 Method (Decimal)
.NET Framework (current version)
Converts the value of the specified Decimal to the equivalent 16-bit signed integer.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
-
Type:
System.Decimal
The decimal number to convert.
| Exception | Condition |
|---|---|
| OverflowException | value is less than Int16.MinValue or greater than Int16.MaxValue. |
You can also convert a Decimal value to a 16-bit integer by using the Explicit(Decimal to Int16) assignment operator. Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.
The following example uses the ToInt16 method to convert decimal numbers to Int16 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 { short number = Decimal.ToInt16(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 // OverflowException: 65535.999 // OverflowException: 65536 // 32767.999 --> 32767 // OverflowException: 32768 // -0.999 --> 0 // -1 --> -1 // -32768.999 --> -32768 // OverflowException: -32769
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
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
Show: