Можно ли получить "ширину" из строки формата - PullRequest
0 голосов
/ 09 июля 2020

Мне нужен способ получить параметр «ширина» из строки формата fmt::format.

I не хочу результирующий размер формата операция, которую легко извлечь с помощью auto size = fmt::formatted_size("{:>5.2f}", 13453453.76345f);

fmt::format("{:>5.2f}", 13.23454f);
//              ^
//     I want this number (5)

Я ожидаю что-то вроде этого

auto width = fmt::with_arg("{:>5.2f}");
assert(width == 5);

И ... Было бы неплохо, если бы она работала и для целых чисел:

fmt::format("{:>4d}", 42);
//              ^
//     I want this number (4)

1 Ответ

0 голосов
/ 10 июля 2020

Нет, ширина используется внутри для определения количества отступов. Он не предоставляется ни одним из API-интерфейсов publi c. Вы можете проанализировать строку формата и получить ширину, используя parse_format_string , но это внутренняя функция.

...