Thread overview
dynamic format specifier possible?
Jan 23, 2022
forkit
Jan 23, 2022
Ali Çehreli
Jan 23, 2022
forkit
January 23, 2022
I would like to calculate the width of the format specifier dynamically, at runtime.

e.g int WIDTH = something.length;

then my format specifier would be: %WIDTHs instead of %9s

// ---

module test;

import std;

void main()
{
    int val = 999000;
    writefln("[%9s]", val); // [   999000]
}

// ---
January 23, 2022
On 1/23/22 13:59, forkit wrote:
> I would like to calculate the width of the format specifier dynamically, at runtime.

You use an asterisk and provide the width as an argument. This one uses the length of the name of the program:

import std;

void main(string[] args)
{
  int val = 999000;
  writefln("[%*s]", args.front.length, val); // [   999000]
}

Ali
January 23, 2022
On Sunday, 23 January 2022 at 22:08:28 UTC, Ali Çehreli wrote:
>
> You use an asterisk and provide the width as an argument. This one uses the length of the name of the program:
>
> import std;
>
> void main(string[] args)
> {
>   int val = 999000;
>   writefln("[%*s]", args.front.length, val); // [   999000]
> }
>
> Ali

perfect! thanks.