Моё клиентское приложение экспортирует и импортирует довольно много переменных типа real через текстовый файл, используя writeln и readln. Я попытался увеличить ширину написанных полей, чтобы код выглядел следующим образом:
writeln(file, exportRealvalue:30); //using excess width of field
....
readln(file, importRealvalue);
Когда я экспортирую, а затем снова импортирую и экспортирую и сравниваю файлы, я получаю разницу в двух последних цифрах, например (здесь может быть нет действительного количества цифр, но вы получите его):
-1.23456789012E-0002
-1.23456789034E-0002
Это на самом деле имеет значение в приложении, поэтому клиент хочет знать, что я могу с этим поделать. Теперь я не уверен, что это делает только запись / чтение, но я решил бросить быстрый вопрос, прежде чем снова погрузиться в стек. Нужно ли мне идти в этом бинарном?
Это не приложение, имеющее дело с валютой или чем-то, я просто пишу и читаю значения в / из файла. Я знаю, что с плавающей запятой иногда немного странно, и я подумал, что у одной из подпрограмм (writeln / readln) может быть какое-то забавное дело.