Export (0) Print
Expand All

Convert.ToDecimal Method (Single)

Converts the value of the specified single-precision floating-point number to the equivalent decimal number.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public static decimal ToDecimal(
	float value


Type: System.Single

The single-precision floating-point number to convert.

Return Value

Type: System.Decimal
A decimal number that is equivalent to value.


value is greater than Decimal.MaxValue or less than Decimal.MinValue.

The Decimal value returned by this method contains a maximum of seven significant digits. If the value parameter contains more than seven significant digits, it is rounded using rounding to nearest. The following example illustrates how the ToDecimal(Single) method uses rounding to nearest to return a Decimal value with seven significant digits.

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

The following example tries to convert each element in an array of Single values to a Decimal value.

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.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

© 2014 Microsoft