Decimal.ToUInt16(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şaretsiz tamsayıya dönüştürür.
public:
static System::UInt16 ToUInt16(System::Decimal value);
[System.CLSCompliant(false)]
public static ushort ToUInt16 (decimal value);
[<System.CLSCompliant(false)>]
static member ToUInt16 : decimal -> uint16
Public Shared Function ToUInt16 (value As Decimal) As UShort
Parametreler
- value
- Decimal
Dönüştürülecek ondalık sayı.
Döndürülenler
değerine value
eşdeğer bir 16 bit işaretsiz tamsayı.
- Öznitelikler
Özel durumlar
value
UInt16.MaxValue değerinden büyük veya UInt16.MinValue değerinden küçüktür.
Örnekler
Aşağıdaki örnek, ondalık sayıları değerlere dönüştürmek için UInt16 yöntemini kullanırToUInt16.
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
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.ToUInt16 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
// 65535.999 --> 65535
// OverflowException: 65536
// 32767.999 --> 32767
// 32768 --> 32768
// -0.999 --> 0
// OverflowException: -1
// OverflowException: -32768.999
// 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 UShort = Decimal.ToUInt16(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
' 65535.999 --> 65535
' OverflowException: 65536
' 32767.999 --> 32767
' 32768 --> 32768
' -0.999 --> 0
' OverflowException: -1
' OverflowException: -32768.999
' OverflowException: -32769
Açıklamalar
Dönüş değeri ondalık değerin dahili bir parçasıdır; kesirli basamaklar ise kesilir.
Atama işlecini kullanarak bir Decimal değeri 16 bit işaretsiz 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.