System.Convert.ToDecimal 方法 (Single)

方法描述

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

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

public static decimal ToDecimal(
	float value
)

参数/返回值

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

提示和注释

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

C#

VB

复制

Console.WriteLine(Convert.ToDecimal(1234567500.12F)); // Displays 1234568000

Console.WriteLine(Convert.ToDecimal(1234568500.12F)); // Displays 1234568000

Console.WriteLine(Convert.ToDecimal(10.980365F)); // Displays 10.98036

Console.WriteLine(Convert.ToDecimal(10.980355F)); // Displays 10.98036

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

下面的示例尝试将 Single 值数组中的每个元素转换为 Decimal 值。

float[] numbers = { Single.MinValue, -3e10f, -1093.54f, 0f, 1e-03f,
                    1034.23f, Single.MaxValue };
decimal result;

foreach (float number in numbers)
{
   try {
      result = Convert.ToDecimal(number);
      Console.WriteLine("Converted the Single value {0} to {1}.", number, result);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0} is out of range of the Decimal type.", number);
   }
}                                  
// The example displays the following output:
//       -3.402823E+38 is out of range of the Decimal type.
//       Converted the Single value -3E+10 to -30000000000.
//       Converted the Single value -1093.54 to -1093.54.
//       Converted the Single value 0 to 0.
//       Converted the Single value 0.001 to 0.001.
//       Converted the Single value 1034.23 to 1034.23.
//       3.402823E+38 is out of range of the Decimal type.

异常

异常 异常描述
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 系统要求。