Подтвердить что ты не робот

Как я могу поместить printf, чтобы учитывать отрицательные знаки и номера переменной длины?

Я пытаюсь вывести некоторые числа в файл журнала, и я хочу заполнить загрузку поплавков с помощью функции printf для создания:

 058.0
 020.0
 038.0
-050.0
 800.0
 150.0
 100.0

В настоящее время я делаю это:

printf("% 03.1f\n", myVar);

... где myVar - это float. Результат этого оператора выглядит следующим образом:

58.0
20.0
38.0
-50.0
800.0
150.0
100.0

Из то, что я прочитал Я ожидаю, что мой код будет выпускать вывод, который я упомянул в начале этого сообщения, но, очевидно, что-то есть неправильно. Можете ли вы использовать только один флаг за раз?.. или есть что-то еще здесь?

4b9b3361

Ответ 1

Спецификатор ширины - это полная ширина:

printf("%05.1f\n", myVar);  // Total width 5, pad with 0, one digit after .

Чтобы получить ожидаемый формат:

printf("% 06.1f\n", myVar);

Ответ 2

следует за Эриком, но я нахожу

printf("% 6.1f\n", myVar);

тоже работает.