#fortran #output
#Фортран #вывод
Вопрос:
объявили переменную:
КОЭФФИЦИЕНТ реального * 4
и тогда КОЭФФИЦИЕНТ = 2,25
Я хочу вывести 2.25
Попробовал F3.2
Любая помощь?
WRITE (lu09,9315)FACTOR
9315 FORMAT (F4.2)
Комментарии:
1. Что случилось с тем, что вы пробовали? Не могу сказать, почему этого недостаточно.
2. @HighPerformanceMark, пожалуйста, прости меня за то, что я такой идиот, и я прощу тебя за то, что ты так со мной обращаешься. — к вопросу добавлен простой код. Мой вывод .02.
3. Какой вывод есть из исправленного кода?
4. Я считаю, что ваша информация верна, @wallyk. Я думаю, что в моей программе есть еще одна проблема, потому что, если я напишу в std out, он отобразится как 2.25, как и должно быть, используя ваш ответ. Я хотел бы поблагодарить вас за вашу помощь.
5. Добро пожаловать. Спасибо, что приняли мой ответ.
Ответ №1:
Формат Fortran F3.2
будет выводить числа до .99
, но все, что больше, не подойдет. Если вы имеете в виду, что хотите получить 3 цифры перед десятичной дробью, измените ее на F6.2
.
Первое число формата — это общая ширина поля, включая десятичные и дробные цифры.
Чтобы отображался формат 2.25, ширина формата должна быть не менее 4: F4.2
Комментарии:
1. Я изменил его на F4.2, а также попробовал F5.2, но мой вывод .02. Что я делаю не так?
2. @KathyB.: Я вложил в вопрос то, что смог понять из ваших комментариев, но это слишком сложно для отладки. Пожалуйста, попробуйте простое
format
с простымwrite
только с одной переменной.3. @wallyk Я упростил код и добавил к вопросу. Спасибо.
Ответ №2:
Формат f0.2 дает желаемый результат, как показано ниже. Он записывает число с двумя цифрами после десятичной запятой и столько цифр перед десятичной запятой, сколько необходимо.
program xwrite
implicit none
real*4 :: factor = 2.25
write (*,"(f0.2)") factor
end program xwrite
! output:
! 2.25