Decimal.ToSByte(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 8 bit imzalı tamsayıya dönüştürür.
public:
static System::SByte ToSByte(System::Decimal value);
[System.CLSCompliant(false)]
public static sbyte ToSByte (decimal value);
[<System.CLSCompliant(false)>]
static member ToSByte : decimal -> sbyte
Public Shared Function ToSByte (value As Decimal) As SByte
Parametreler
- value
- Decimal
Dönüştürülecek ondalık sayı.
Döndürülenler
ile eşdeğer value
8 bit imzalı tamsayı.
- Öznitelikler
Özel durumlar
value
SByte.MinValue değerinden küçük veya SByte.MaxValue değerinden büyük.
Örnekler
Aşağıdaki örnek, ondalık sayıları değerlere dönüştürmek için SByte yöntemini kullanırToSByte.
using System;
class Example
{
public static void Main( )
{
decimal[] values = { 123m, new Decimal(78000, 0, 0, false, 3),
78.999m, 255.999m, 256m,
127.999m, 128m, -0.999m,
-1m, -128.999m, -129m };
foreach (var value in values) {
try {
sbyte number = Decimal.ToSByte(value);
Console.WriteLine("{0} --> {1}", value, number);
}
catch (OverflowException e)
{
Console.WriteLine("{0}: {1}", e.GetType().Name, value);
}
}
}
}
// The example displays the following output:
// 78 --> 78
// 78.000 --> 78
// 78.999 --> 78
// OverflowException: 255.999
// OverflowException: 256
// 127.999 --> 127
// OverflowException: 128
// -0.999 --> 0
// -1 --> -1
// -128.999 --> -128
// OverflowException: -129
open System
let values =
[ 123m; Decimal(78000, 0, 0, false, 3uy)
78.999m; 255.999m; 256m
127.999m; 128m; -0.999m
-1m; -128.999m; -129m ]
for value in values do
try
let number = Decimal.ToSByte value
printfn $"{value} --> {number}"
with :? OverflowException as e ->
printfn $"{e.GetType().Name}: {value}"
// The example displays the following output:
// 78 --> 78
// 78.000 --> 78
// 78.999 --> 78
// OverflowException: 255.999
// OverflowException: 256
// 127.999 --> 127
// OverflowException: 128
// -0.999 --> 0
// -1 --> -1
// -128.999 --> -128
// OverflowException: -129
Module Example
Public Sub Main()
Dim values() As Decimal = { 78d, New Decimal(78000, 0, 0, false, 3),
78.999d, 255.999d, 256d,
127.999d, 128d, -0.999d,
-1d, -128.999d, -129d }
For Each value In values
Try
Dim number As SByte = Decimal.ToSByte(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:
' 78 --> 78
' 78.000 --> 78
' 78.999 --> 78
' OverflowException: 255.999
' OverflowException: 256
' 127.999 --> 127
' OverflowException: 128
' -0.999 --> 0
' -1 --> -1
' -128.999 --> -128
' OverflowException: -129
Açıklamalar
Atama işlecini kullanarak bir Decimal değeri 8 bit imzalı 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.