Если вы хотите, чтобы вывод был с фиксированной плавающей точкой, то используйте команду
RealForm, тогда в качестве аргумента expW с отрицательным значением возможно указать, сколько разрядов оставлять.
Код:
MODULE test;
IMPORT Log := StdLog;
PROCEDURE Do* (n: INTEGER);
VAR i: INTEGER;
BEGIN
FOR i := 1 TO n DO
Log.RealForm(10.7 * i, 16, 0, -2, " "); Log.Ln;
END;
END Do;
END test.
Команда Log.Real же эквивалентна Log.RealForm(x, 16, 0, 0, digitspace), и в этом случае ББ сам подбирает, сколько разрядов после плавающей точки отобразить, чтобы число было ближе к результату с точностью 16 во время преобразования в строку.