Publish
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

# Decimal Constructor (Single)

Silverlight

Initializes a new instance of Decimal to the value of the specified single-precision floating-point number.

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

## Syntax

```[SecuritySafeCriticalAttribute]
public Decimal(
float value
)
```

#### Parameters

value
Type: System.Single
The value to represent as a Decimal.

## Exceptions

ExceptionCondition
OverflowException

value is greater than MaxValue or less than MinValue.

-or-

## Remarks

This constructor rounds value to 7 significant digits using rounding to nearest. This is done even if the number has more than 7 digits and the less significant digits are zero.

## Examples

The following code example creates several Decimal numbers using the constructor overload that initializes a Decimal structure with a Single value.

```
// Example of the decimal( float ) constructor.
using System;

class Example
{
// Get the exception type name; remove the namespace prefix.
public static string GetExceptionType(Exception ex)
{
string exceptionType = ex.GetType().ToString();
return exceptionType.Substring(
exceptionType.LastIndexOf('.') + 1);
}

// Create a decimal object and display its value.
public static void CreateDecimal(System.Windows.Controls.TextBlock outputBlock, float value, string valToStr)
{
// Format and display the constructor.
outputBlock.Text += String.Format("{0,-27}",
String.Format("decimal( {0} )", valToStr));

try
{
// Construct the decimal value.
decimal decimalNum = new decimal(value);

// Display the value if it was created successfully.
outputBlock.Text += String.Format("{0,31}", decimalNum) + "\n";
}
catch (Exception ex)
{
// Display the exception type if an exception was thrown.
outputBlock.Text += String.Format("{0,31}", GetExceptionType(ex)) + "\n";
}
}

public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{

outputBlock.Text += String.Format("This example of the decimal( float ) " +
"constructor \ngenerates the following output.\n") + "\n";
outputBlock.Text += String.Format("{0,-27}{1,31}", "Constructor",
"Value or Exception") + "\n";
outputBlock.Text += String.Format("{0,-27}{1,31}", "-----------",
"------------------") + "\n";

// Construct decimal objects from float values.
CreateDecimal(outputBlock, 1.2345E+5F, "1.2345E+5F");
CreateDecimal(outputBlock, 1.234567E+15F, "1.234567E+15F");
CreateDecimal(outputBlock, 1.23456789E+25F, "1.23456789E+25F");
CreateDecimal(outputBlock, 1.23456789E+35F, "1.23456789E+35F");
CreateDecimal(outputBlock, 1.2345E-5F, "1.2345E-5F");
CreateDecimal(outputBlock, 1.234567E-15F, "1.234567E-15F");
CreateDecimal(outputBlock, 1.23456789E-25F, "1.23456789E-25F");
CreateDecimal(outputBlock, 1.23456789E-35F, "1.23456789E-35F");
CreateDecimal(outputBlock, 1.0F / 7.0F, "1.0F / 7.0F");
}
}

/*
This example of the decimal( float ) constructor
generates the following output.

Constructor                             Value or Exception
-----------                             ------------------
decimal( 1.2345E+5F )                               123450
decimal( 1.234567E+15F )                  1234567000000000
decimal( 1.23456789E+25F )      12345680000000000000000000
decimal( 1.23456789E+35F )               OverflowException
decimal( 1.2345E-5F )                          0.000012345
decimal( 1.234567E-15F )           0.000000000000001234567
decimal( 1.23456789E-25F )  0.0000000000000000000000001235
decimal( 1.23456789E-35F )                               0
decimal( 1.0F / 7.0F )                           0.1428571
*/

```

## Version Information

#### Silverlight

Supported in: 5, 4, 3

#### Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

#### XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

## Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.