https://bugs.winehq.org/show_bug.cgi?id=51435
Bug ID: 51435 Summary: iostream float formatting broken Product: Wine Version: 6.12 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msvcrt Assignee: wine-bugs@winehq.org Reporter: winebugz@t41t.com Distribution: ---
Created attachment 70288 --> https://bugs.winehq.org/attachment.cgi?id=70288 test case solution demonstrating the error
On wine-6.12-162-gd10887b8f56
Full solution is in the attachment, but Wine is improperly formatting floats when using printf "%g" or iostreams. A very simple example is: std::cout << 9.999999999999999e-5 << std::endl;
It should print "0.0001". It does print "0".
Of course, this affects much larger and more complicated programs, too.
Tested on Ubuntu 20.04, although I don't think it matters.