Output of std.format for float difference between DMD and GDC

Iain Buclaw ibuclaw at gdcproject.org
Sat Dec 7 15:39:45 UTC 2019


‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, 4 December 2019 12:16, BoraxMan via D.gnu <d.gnu at puremagic.com> wrote:

> On Wednesday, 4 December 2019 at 09:41:58 UTC, BoraxMan wrote:
>
> > I have noted that DMD and GDC provide a different output to the
> > following line of code.
> > writeln(format("$%-12,3.2f",66543.22));
> > DMD outputs
> > $66,543.22
> > GDC outputs
> > $66,543.22 ,
> > As you can see, GDC puts a superflous comma at the end. The
> > goal of this line is to convert a float to a monetary
> > representation, therefore DMD is what I want and GDC not.
> > The question is, is the line of code in error? If not, does
> > this mean there is a bug with GDC's libphobos?
> > Regards,
> > Dennis
>
> I figured it out, its my lack of experience in D.
>
> format("$%-*,3.2f",x.dig,x);
>
> where x is the floating point value works as expected.


It's a phobos library bug.

https://issues.dlang.org/show_bug.cgi?id=20069


--
Iain




More information about the D.gnu mailing list