Decimal.ToByte(Decimal) 方法

定义

将指定的 Decimal 的值转换为等效的 8 位无符号整数。Converts the value of the specified Decimal to the equivalent 8-bit unsigned integer.

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

要转换的十进制数。The decimal number to convert.

返回

等效于 value 的 8 位无符号整数。An 8-bit unsigned integer equivalent to value.

异常

value 小于 MinValue 或大于 MaxValuevalue is less than MinValue or greater than MaxValue.

示例

下面的示例使用 ToByte 方法将十进制数字转换为 Byte 值。The following example uses the ToByte method to convert decimal numbers to Byte values.

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
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 舍入为最接近零的整数值,并返回该结果。Parameter value is rounded to the nearest integer value toward zero, and that result is returned.

还可以通过使用 Explicit 赋值运算符将 Decimal 值转换为8位无符号整数。You can also convert a Decimal value to an 8-bit unsigned integer by using the Explicit assignment operator. 由于运算符执行收缩转换,因此必须在 Visual Basic 中C#使用转换运算符或转换函数。Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

适用于

另请参阅