Convert double to long if lossless
drug
drug2004 at bk.ru
Tue Jan 19 14:04:34 UTC 2021
On 1/19/21 4:48 PM, Per Nordlöw wrote:
> On Tuesday, 19 January 2021 at 13:36:58 UTC, Steven Schveighoffer wrote:
>> Use a cast instead.
>>
>> const lvalue = cast(long)value;
>
> Ahh, good point.
>
> Followd by a compare of the original value I presume.
don't forget to check by std.math.isFinite before casting
Another (low level) way is to shift mantissa left by exponent value. If
the remainder equals to zero then no fractal part was encoded in the
floating value.
More information about the Digitalmars-d-learn
mailing list