System.Convert.ToDecimal 方法 (Double)

方法描述

将指定的双精度浮点数的值转换为等效的十进制数。

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

public static decimal ToDecimal(
	double value
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
value System-Double 要转换的双精度浮点数。
返回值 System.Decimal 一个等于 value 的十进制数。

提示和注释

此方法返回的 Decimal 值最多包含 15 个有效数字。 如果 value 参数的有效数字超过 15 个,则使用“舍入到最接近的数字”规则进行舍入。 下面的示例演示 Convert.ToDecimal(Double) 方法如何使用“舍入到最接近的数字”规则返回具有 15 个有效数字的 Decimal 值。

C#

VB

复制

Console.WriteLine(Convert.ToDecimal(123456789012345500.12D)); // Displays 123456789012346000

Console.WriteLine(Convert.ToDecimal(123456789012346500.12D)); // Displays 123456789012346000

Console.WriteLine(Convert.ToDecimal(10030.12345678905D)); // Displays 10030.123456789

Console.WriteLine(Convert.ToDecimal(10030.12345678915D)); // Displays 10030.1234567892

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

下面的示例将 Double 值转换为 Decimal 值。

public void ConvertDoubleDecimal(decimal decimalVal){
			
			double doubleVal;
			
			// Decimal to double conversion cannot overflow.
         doubleVal = System.Convert.ToDouble(decimalVal);
			System.Console.WriteLine("{0} as a double is: {1}",
					decimalVal, doubleVal);

			// Conversion from double to decimal can overflow.
			try 
         {
			   decimalVal = System.Convert.ToDecimal(doubleVal);
   			System.Console.WriteLine ("{0} as a decimal is: {1}",
	   			doubleVal, decimalVal);
			} 
			catch (System.OverflowException) {
				System.Console.WriteLine(
					"Overflow in double-to-double conversion.");
			}
			

		}

异常

异常 异常描述
OverflowException value 大于 Decimal.MaxValue 或小于 Decimal.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 系统要求。