Decimal.ToInt16(Decimal) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 Decimal의 값을 해당하는 16비트 부호 있는 정수로 변환합니다.
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
변환할 10진수입니다.
반환
value
에 해당하는 16비트 부호 있는 정수입니다.
예외
value
가 Int16.MinValue보다 작거나 Int16.MaxValue보다 큽다.
예제
다음 예제에서는 메서드를 ToInt16 사용하여 10진수를 값으로 Int16 변환합니다.
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
open System
let values =
[ 123m; Decimal(123000, 0, 0, false, 3uy)
123.999m; 65535.999m; 65536m
32767.999m; 32768m; -0.999m
-1m; -32768.999m; -32769m ]
for value in values do
try
let number = Decimal.ToInt16 value
printfn $"{value} --> {number}"
with :? OverflowException as e ->
printfn $"{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
설명
할당 연산자를 Decimal 사용하여 값을 16비트 정수로 변환할 Explicit 수도 있습니다. 연산자는 축소 변환을 수행하므로 C#의 캐스팅 연산자 또는 Visual Basic의 변환 함수를 사용해야 합니다.
적용 대상
추가 정보
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET