Decimal.ToSByte(Decimal) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Konverterar värdet för det angivna Decimal till motsvarande 8-bitars signerade heltal.
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
Parametrar
- value
- Decimal
Det decimaltal som ska konverteras.
Returer
Ett 8-bitars signerat heltal som motsvarar value.
- Attribut
Undantag
value är mindre än SByte.MinValue eller större än SByte.MaxValue.
Exempel
I följande exempel används ToSByte metoden för att konvertera decimaltal till SByte värden.
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
Kommentarer
Du kan också konvertera ett Decimal värde till ett 8-bitars signerat heltal med hjälp av tilldelningsoperatorn Explicit . Eftersom operatorn utför en begränsad konvertering måste du använda en gjutningsoperator i C# eller en konverteringsfunktion i Visual Basic.