System.Convert.ToInt16 方法 (Double)

方法描述

将指定的双精度浮点数的值转换为等效的 16 位带符号整数。

语法定义(C# System.Convert.ToInt16 方法 (Double) 的用法)

public static short ToInt16(
	double value
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
value System-Double 要转换的双精度浮点数。
返回值 System.Int16 value,舍入为最接近的 16 位带符号整数。 如果 value 为两个整数中间的数字,则返回二者中的偶数;即 4.5 转换为 4,而 5.5 转换为 6。

提示和注释

System.Convert.ToInt16 方法 (Double)例子

该示例阐释了 Double 值的任何小数部分被舍入之前执行转换。

double[] values = { Double.MinValue, -1.38e10, -1023.299, -12.98,
                    0, 9.113e-16, 103.919, 17834.191, Double.MaxValue };
short result;

foreach (double value in values)
{
   try {
      result = Convert.ToInt16(value);
      Console.WriteLine("Converted {0} to {1}.", value, result);
   }   
   catch (OverflowException)
   {
      Console.WriteLine("{0} is outside the range of the Int16 type.", value);
   }   
}                                 
//       -1.79769313486232E+308 is outside the range of the Int16 type.
//       -13800000000 is outside the range of the Int16 type.
//       Converted -1023.299 to -1023.
//       Converted -12.98 to -13.
//       Converted 0 to 0.
//       Converted 9.113E-16 to 0.
//       Converted 103.919 to 104.
//       Converted 17834.191 to 17834.
//       1.79769313486232E+308 is outside the range of the Int16 type.

异常

异常 异常描述
OverflowException value 大于 Int16.MaxValue 或小于 Int16.MinValue。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。