R5RS - отображать число из операции как десятичное

Я хочу отобразить число как десятичное, однако оно продолжает отображаться как дробь

Пример

(/ 7 9) ; --> displays as 7/9 but should be .77777

Я пробовал встроенный #d, но он не работает с результатами операции, а также number->real и другие варианты


person Alter    schedule 19.01.2020    source источник


Ответы (1)


Для этого вы можете использовать exact->inexact процедура:

(exact->inexact (/ 7 9))
=> 0.77777778
person Óscar López    schedule 19.01.2020
comment
Это сработало. Я нахожу синтаксис немного длинным для того, что кажется фундаментальной задачей. Знаете ли вы, есть ли способ показать все результаты в виде десятичных чисел? - person Alter; 19.01.2020
comment
Нет, по умолчанию Scheme попытается выполнить точную арифметику. Конечно, это многословно, но exact->inexact — единственный путь. Ну, если вы не переключитесь на использование десятичных дробей с самого начала: (/ 7.0 9.0) - person Óscar López; 19.01.2020