On Monday, 16 May 2016 at 20:24:51 UTC, Q. Schroll wrote:
Lets say I want to print a table with floats. How can it be
formatted like that:
| 2.4 |
| 12.2 |
| 8.131 |
| 17.44 |
Also acceptable is
| 2.400 |
| 12.200 |
| 8.131 |
| 17.440 |
but not
| 02.4 |
| 12.2 |
| 08.131 |
| 17.44 |
or any other solutions with leading zeros.
I have this one:
----
import std.stdio;
import std.string, std.algorithm, std.format;
void main(string[] args)
{
[2.4, 12.2, 8.131, 17.44].each!(a => format("%.3f", a)
.rightJustify(6).center(8).center(10,'|').writeln);
}
----
But only works if fractional and integral part are both up to 3
digits.