Я пишу интерфейс внешнего интерфейса в Python3.2, и часть окончательного вывода основана на формате Fortran.Я нашел несколько хороших примеров, и у меня не было много проблем с переводом с фортрана на питон (например, F10.3 == "{: 10.3F}" )
Тем не менее, я вижу некоторые различия в некоторых примерах вывода, которые пытается воспроизвести мой питон.
Где код Fortran содержит такие элементы, как F10.0, F9.0, ...Я вижу предоставленные пользователем данные в выходном файле примера, например 345.2300 или просто 0,0000 .Не правда ли, что .0 не предполагает десятичных дробей?Разве 345.2300 не должно стать только 345?Я считаю, что это правда в Python, он будет автоматически округлять любые десятичные дроби, и F10.0 по сути будет 10-значное целое число.Есть ли небольшая разница в Фортране, которую я не понимаю?Имеет ли поставляемое десятичное число переопределение кода формата на Фортране?Или мое понимание спецификации формата правильное, и есть некоторая проблема в коде / выводе, который я пытаюсь создать в python.
Я в основном ничего не знаю о fortran, поэтому любая помощь будет очень признательна
Спасибо, Крис
РЕДАКТИРОВАТЬ Я начинаю понимать, что, возможно, я неверно истолковываю свои спецификации для этого графического интерфейса.Мой графический интерфейс генерирует текстовый файл, который подается в другую программу, написанную на Фортране.Текстовый файл должен быть в очень специфическом формате, который продиктован (из руководства) утверждениями формата fortran.В примерах текстовых файлов, которые у меня есть, я вижу пользователя, набравшего 29.64578 для одной из переменных, и в соответствии со спецификациями это будет соответствовать F10.0.Однако текстовый файл содержит строку шириной 10, «29.64578».В моей версии Python, если пользователь набрал 29.64578, а я использовал «{: 10.0F}», текстовый файл будет отображать «30».
Должен ли я переводить F10.0 в "{: 10.0G}" вместо "{: 10.0F}" в моем питоне?
Не вызовет ли 29.64578 ошибку при сопоставлении с F10.0 в фортране?
Что будет делать код Фортрана с 29.64578, предполагая F10.0?