Decimal.ToInt16(Decimal) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen Decimal değerini eşdeğer 16 bit işaretli tamsayıya dönüştürür.
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
Parametreler
- value
- Decimal
Dönüştürülecek ondalık sayı.
Döndürülenler
ile eşdeğer value
16 bit imzalı tamsayı.
Özel durumlar
value
Int16.MinValue değerinden küçük veya Int16.MaxValue değerinden büyük.
Örnekler
Aşağıdaki örnek, ondalık sayıları değerlere dönüştürmek için Int16 yöntemini kullanırToInt16.
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
Açıklamalar
Atama işlecini kullanarak bir Decimal değeri 16 bit tamsayıya Explicit da dönüştürebilirsiniz. işleci bir daraltma dönüştürmesi gerçekleştirdiğinden, C# dilinde bir atama işleci veya Visual Basic'te bir dönüştürme işlevi kullanmanız gerekir.