Вывести первую цифру после запятой - Lisp
Формулировка задачи:
Пытаюсь написать программу, которая выводит первую цифру после запятой на Common Lisp (clisp).
Я делаю это так:
И для большинства чисел приведенный выше код работает, но если взять число побольше, то там при умножении происходит ошибка вычислений:
Как это сделать правильно?
(setq number 100.49999) (format t "~a~%" (mod (floor (* 10 number)) 10))
4
(setq number 1000.49999) (format t "~a~%" (mod (floor (* 10 number)) 10))
5
Решение задачи: «Вывести первую цифру после запятой»
textual
Листинг программы
CL-USER 11 > (setq number 1000.49999D0) 1000.49999D0 CL-USER 12 > (format t "~a~%" (mod (floor (* 10 number)) 10)) 4 NIL
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д