Я ' m изучаю Fortran90 после краткого знакомства с Fortran77 несколько лет назад. При печати целых чисел в Фортране вы должны указать, сколько пробелов вы хотите зарезервировать для печати целого числа. Рассмотрим эту программу ...
implicit none
integer :: i
i = 123
write(*, '(A, I3, A)') "'", i, "'" !3 spaces for output = no padding
write(*, '(A, I5, A)') "'", i, "'" !5 is too many, so output is padded
write(*, '(A, I2, A)') "'", i, "'" !2 is too few, so output is jibberish
write(*, '(A, I:, A)') "'", i, "'" !Default behavior
end program
... которая генерирует следующий вывод.
'123'
' 123'
'**'
' 123'
Как мне выделить правильный объем места для печати целых чисел, если я не знаю, сколько цифр в целых числах?
Обновить : если ваш компилятор совместим с F95, вы можете использовать дескриптор редактирования I0
(т.е. поставить '(A, I0, A)'
в качестве второго аргумента запись
в моем примере выше. Спасибо, @janneb!