Decimal.ToByte(Decimal) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將指定的 Decimal 值轉換為對等的 8 位元不帶正負號整數。
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
參數
- value
- Decimal
要轉換的十進位數字。
傳回
8 位元不帶正負號的整數,等於 value
。
例外狀況
value
小於 Byte.MinValue 或大於 Byte.MaxValue。
範例
下列範例會使用 方法, ToByte 將十進位數轉換成 Byte 值。
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
備註
參數 value
會四捨五入為最接近零的整數值,並傳回該結果。
您也可以使用 Explicit 指派運算子,將值轉換成 Decimal 8 位不帶正負號的整數。 因為運算子會執行縮小轉換,所以您必須在 C# 中使用轉換運算子,或在 Visual Basic 中使用轉換函式。