BigInteger Constructor (Double)
Initializes a new instance of the BigInteger structure using a double-precision floating-point value.
Assembly: System.Numerics (in System.Numerics.dll)
Parameters
- value
-
Type:
System::Double
A double-precision floating-point value.
| Exception | Condition |
|---|---|
| OverflowException | The value of value is Double::NaN. -or- The value of value is Double::NegativeInfinity. -or- The value of value is Double::PositiveInfinity. |
Any fractional part of the value parameter is truncated when instantiating a BigInteger object.
Because of the lack of precision of the Double data type, calling this constructor can cause data loss.
The BigInteger value that results from calling this constructor is identical to the value that results from explicitly assigning a Double value to a BigInteger.
The following example illustrates the use of the BigInteger(Double) constructor to instantiate a BigInteger object. It also illustrates the loss of precision that may occur when you use the Double data type. A Double is assigned a large value, which is then assigned to a BigInteger object. As the output shows, this assignment involves a loss of precision. Both values are then incremented by one. The output shows that the BigInteger object reflects the changed value, whereas the Double object does not.
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone
Available since 8.1