Именно десятичный формат и интересен - неинтересны не отображаемые последние разряды, неточность из которых выползет не скоро, если вообще успеет. Легко убедиться что поменялась общая логика обработки Double, а не только не во Writeln
- Код: Выделить всё
var
S: string;
Q: double;
begin
Q:=0.1+0.2;
writeln(Q);
str(Q,S);
writeln(S);
end.
Вы, наверное, так шутите? :/ Вы говорите про общую логику обработки Double, и сразу после этого приводите фрагмент кода, в котором преобразовываете этот самый Double при помощи Str во что-то другое? Нет, это не общая логика обработки Double, это какая-то логика про строки.
Разверну уже высказанную ранее мысль: нужно смотреть именно содержимое переменной Q, а не результаты её преобразований во что-то другое. Лучше всего прям дамп памяти, бинарный или Hex. Нужно понять чему равна мантисса, чему равна экспонента, в старой и новой версиях. После этого можно вычислить точность обоих вариантов и посмотреть как эта точность различается. Это уже получится предметное обсуждение именно общей логики работы с Double.