2014-01-14 5 views
0

Есть ли способ в Фортране написать числа с плавающей запятой как 17,3, а не 17.3, изменив точку на запятую?Форматированный выход для чисел с плавающей запятой

У меня есть несколько больших наборов данных, которые можно использовать подпрограммой .csv, и я хочу сделать на ней некоторый Excel. В немецкой версии Excel используется . в качестве разделителя чисел с плавающей запятой. Я знаю, что могу использовать функцию импорта для ее обработки или использовать Nodepad ++ для поиска и замены . с помощью ,. Но я создаю много таких файлов, и подпрограмма будет использоваться другими, поэтому готовый файл Excel будет приятным.

+2

'Fortran 2003 имеет DECIMAL = 'COMMA' и DECIMAL = 'POINT', которые вы можете использовать в операторе OPEN или в операциях READ и WRITE.' [Ref] (http://forums.silverfrost.com/viewtopic .php? р = 9710 & SID = 0c34864201deebeffb6770dd6ec2fc99) – pnuts

ответ

4

Если вы просто пишете строку или две, вы можете добавить дескриптор дескриптора децибел dc в выходной формат. Вот простой пример

write(*,'(dc,f12.3)') 12.3 

который производит

12,300 

Если вы хотите записать в файл, добавить пункт

decimal = 'comma' 

к вашему open заявление, например:

open(6,decimal='comma') 

Конечно, здесь я (повторно) открываю stdout, чтобы писать запятые, а не точки.

Смежные вопросы