Decimal.ToByte(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 osignerade heltal.
public:
static System::Byte ToByte(System::Decimal value);
public static byte ToByte(decimal value);
static member ToByte : decimal -> byte
Public Shared Function ToByte (value As Decimal) As Byte
Parametrar
- value
- Decimal
Det decimaltal som ska konverteras.
Returer
Ett 8-bitars osignerat heltal som motsvarar value.
Undantag
value är mindre än Byte.MinValue eller större än Byte.MaxValue.
Exempel
I följande exempel används ToByte metoden för att konvertera decimaltal till Byte 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 {
byte number = Decimal.ToByte(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
// 255.999 --> 255
// OverflowException: 256
// 127.999 --> 127
// 128 --> 128
// -0.999 --> 0
// OverflowException: -1
// OverflowException: -128.999
// 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.ToByte 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
// 255.999 --> 255
// OverflowException: 256
// 127.999 --> 127
// 128 --> 128
// -0.999 --> 0
// OverflowException: -1
// OverflowException: -128.999
// 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 Byte = Decimal.ToByte(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
' 255.999 --> 255
' OverflowException: 256
' 127.999 --> 127
' 128 --> 128
' -0.999 --> 0
' OverflowException: -1
' OverflowException: -128.999
' OverflowException: -129
Kommentarer
Parametern value avrundas till närmaste heltalsvärde mot noll och det resultatet returneras.
Du kan också konvertera ett Decimal värde till ett 8-bitars osignerat heltal med hjälp Explicit av tilldelningsoperatorn. Eftersom operatorn utför en begränsad konvertering måste du använda en gjutningsoperator i C# eller en konverteringsfunktion i Visual Basic.