Decimal Constructor (Single)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Initializes a new instance of Decimal to the value of the specified single-precision floating-point number.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type: System.Single
The value to represent as a Decimal.
| Exception | Condition |
|---|---|
| OverflowException | value is greater than MaxValue or less than MinValue. -or- value is Single.NaN, Single.PositiveInfinity, or Single.NegativeInfinity. |
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 */