Decimal.ToSByte(Decimal) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wichtig
Diese API ist nicht CLS-kompatibel.
- CLS-kompatible Alternative
- System.Decimal.ToInt16(Decimal)
Konvertiert den Wert des angegebenen Decimal in die entsprechende 8-Bit-Ganzzahl mit Vorzeichen.
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
Parameter
- value
- Decimal
Die zu konvertierende Dezimalzahl.
Gibt zurück
Eine 8-Bit-Ganzzahl mit Vorzeichen, die value
entspricht.
- Attribute
Ausnahmen
value
ist kleiner als SByte.MinValue oder größer als SByte.MaxValue.
Beispiele
Im folgenden Beispiel wird die ToSByte -Methode verwendet, um Dezimalzahlen in Werte zu SByte konvertieren.
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
Hinweise
Sie können einen Decimal Wert auch mithilfe des Explicit Zuweisungsoperators in eine 8-Bit-Ganzzahl mit Vorzeichen konvertieren. Da der Operator eine einschränkende Konvertierung ausführt, müssen Sie einen Umwandlungsoperator in C# oder eine Konvertierungsfunktion in Visual Basic verwenden.