# Decimal.ToInt16(Decimal) 方法

## 定义

``````public:
static short ToInt16(System::Decimal value);``````
``public static short ToInt16 (decimal value);``
``static member ToInt16 : decimal -> int16``
``Public Shared Function ToInt16 (value As Decimal) As Short``

value
Decimal

#### 异常

`value` 小于 MinValue 或大于 MaxValue`value` is less than MinValue or greater than MaxValue.

## 示例

``````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
``````
``````Module Example
Public Sub Main()
Dim values() As Decimal = { 123d, New Decimal(123000, 0, 0, false, 3),
123.999d, 65535.999d, 65536d,
32767.999d, 32768d, -0.999d,
-1d,  -32768.999d, -32769d }

For Each value In values
Try
Dim number As Short = Decimal.ToInt16(value)
Console.WriteLine("{0} --> {1}", value, number)
Catch e As OverflowException
Console.WriteLine("{0}: {1}", e.GetType().Name, value)
End Try
Next
End Sub
End Module
' 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
``````