Casting double to ulong weirdness
via Digitalmars-d
digitalmars-d at puremagic.com
Mon Aug 24 09:52:53 PDT 2015
I'm posting this here for visibility. This was silently
corrupting our data, and might be doing the same for others as
well.
import std.stdio;
void main() {
double x = 1.2;
writeln(cast(ulong)(x * 10.0));
double y = 1.2 * 10.0;
writeln(cast(ulong)y);
}
Output:
11
12
to!ulong instead of the cast does the right thing, and is a
viable work-around.
Issue: https://issues.dlang.org/show_bug.cgi?id=14958)
More information about the Digitalmars-d
mailing list