Как написать оператор формата для чтения действительных чисел из файла и сохранения их в массиве? - PullRequest
0 голосов
/ 05 июля 2019

Я пишу программу для чтения действительных чисел (до 16 цифр после десятичного числа) из текстовых файлов и сохранения их в массивах. Вот простая программа, показывающая, что я хочу сделать:

program readexcel
    dimension array(10,10)   
    Open(unit=10,file='aa.txt',status='old')
    read (10,*) ((array(i,j),j=1,10),i=1,10)
    pause
end program

aa.txt файл (10x10):

1.12312374123123,2.12312312345,3,4,5,6,7,8,9,10
2,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1
3,2.2,3.2,2,5.2,6.2,7.2,8.2,9.2,10.2
4,2.3,3.3,4.3,5.3,6.3,7.3,8.3,9.3,10.3
5,2.4,3.4,4.4,5.4,6.4,7.4,8.4,9.4,10.4
6,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5
7,2.6,3.6,4.6123456789101112,5.6,6.6,7.6,8.6,9.6,10.6
8,2.7,3.7,4.7,5.7,6.7,7.7,8.7,9.7,10.7
9,2.8,3.8,4.8,5.8,6.8,2,8.8,9.8,10.8
10,2.9,3.9,4.9,5.9,6.9,7.9,8.9,9.9,10.9

Этот код работает, но использование звездочки * (по умолчанию) будет читать только четыре цифры после десятичной точки, поскольку массив имеет тип real. Я пытался использовать массивы двойной точности, но это решение не практично, поскольку в реальной программе у меня так много массивов и так много подпрограмм, которые используют эти массивы. Мне нужна помощь в написании оператора формата, в котором я могу определить ширину переменной, а также количество цифр.

...