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)
.NET Framework (current version)
Initializes a new instance of Decimal to the value of the specified single-precision floating-point number.
Assembly: mscorlib (in mscorlib.dll)
| Exception | Condition |
|---|---|
| OverflowException | value is greater than MaxValue or less than MinValue. -or- value is Single::NaN, Single::PositiveInfinity, or Single::NegativeInfinity. |
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.
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 namespace System; // Get the exception type name; remove the namespace prefix. String^ GetExceptionType( Exception^ ex ) { String^ exceptionType = ex->GetType()->ToString(); return exceptionType->Substring( exceptionType->LastIndexOf( '.' ) + 1 ); } // Create a Decimal object and display its value. void CreateDecimal( float value, String^ valToStr ) { // Format and display the constructor. Console::Write( "{0,-27}", String::Format( "Decimal( {0} )", valToStr ) ); try { // Construct the Decimal value. Decimal decimalNum = Decimal(value); // Display the value if it was created successfully. Console::WriteLine( "{0,31}", decimalNum ); } catch ( Exception^ ex ) { // Display the exception type if an exception was thrown. Console::WriteLine( "{0,31}", GetExceptionType( ex ) ); } } int main() { Console::WriteLine( "This example of the Decimal( float ) " "constructor \ngenerates the following output.\n" ); Console::WriteLine( "{0,-27}{1,31}", "Constructor", "Value or Exception" ); Console::WriteLine( "{0,-27}{1,31}", "-----------", "------------------" ); // Construct Decimal objects from float values. CreateDecimal( 1.2345E+5, "1.2345E+5" ); CreateDecimal( 1.234567E+15, "1.234567E+15" ); CreateDecimal( 1.23456789E+25, "1.23456789E+25" ); CreateDecimal( 1.23456789E+35, "1.23456789E+35" ); CreateDecimal( 1.2345E-5, "1.2345E-5" ); CreateDecimal( 1.234567E-15, "1.234567E-15" ); CreateDecimal( 1.23456789E-25, "1.23456789E-25" ); CreateDecimal( 1.23456789E-35, "1.23456789E-35" ); CreateDecimal( 1.0 / 7.0, "1.0 / 7.0" ); } /* This example of the Decimal( float ) constructor generates the following output. Constructor Value or Exception ----------- ------------------ Decimal( 1.2345E+5 ) 123450 Decimal( 1.234567E+15 ) 1234567000000000 Decimal( 1.23456789E+25 ) 12345680000000000000000000 Decimal( 1.23456789E+35 ) OverflowException Decimal( 1.2345E-5 ) 0.000012345 Decimal( 1.234567E-15 ) 0.000000000000001234567 Decimal( 1.23456789E-25 ) 0.0000000000000000000000001235 Decimal( 1.23456789E-35 ) 0 Decimal( 1.0 / 7.0 ) 0.1428571 */
Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Show: