| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
14.04.2005, 09:21 | #1 | |
Как дать лиспу число?
джедай
Магадан
Регистрация: 31.01.2005
Сообщений: 460
|
||
Просмотров: 3328
|
|
||||
электрик Регистрация: 11.03.2005
Киев
Сообщений: 157
|
1.
Код:
Код:
__________________
Когда под рукой нет ничего кроме молотка - всё вокруг кажется гвоздями... Выбор правильного инструмента - залог успеха в любом деле. |
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Это смотря какое число...
(setq myReal(getreal "Введите вещественное число: ")) - вещественное число (setq myInt(getint "Введите целое число)) - целое чило (setq myDist(getdist "Укажите расстояние :") - расстояние, можно указывать в командной строке а можно две точки на экране. (setq myAng(getangle "Укажите угол)) - угол в осью X |
|||
|
||||
джедай Регистрация: 31.01.2005
Магадан
Сообщений: 460
|
Ага, спасибо
А не подскажете как сделать чтоб (setq myDist(getdist "Укажите расстояние :")) выдавало число в "нормальном" формате (т.е. 4.0 или 8.70) а не 2.94364e+007 или что-то в этом роде И что можно использовать для округления чисел? Fixed как я понял не округляет, а просто отбрасывает числа после заятой. |
|||
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,186
|
Цитата:
|
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Во первых число в форме Scientific вы получили по причине того что переменная LUNITS которая отвечает за формат единиц (соответствует выпадающему меню Type в группе Length диалогового окна Drawing Units) у вас 5. Поставьте 2 и форма числа станет десятичной (Decimal).
Вопрос для чего нужно округление? Обычно округление делается при выводе результатов вычислений, но не в самих вычислениях. Если нужно округлить число представив его в одном из форматов в виде строки: Command: (rtos 2.94364e+007 2 2) "29436400.00" Command: (rtos 3.14159 2 3) "3.142" Первый аргумент после числа это формат единиц соответствующий переменной LUNITS а второй количество знаков после запятой. А если теперь все таки нужно получить округленное число используйте функцию DISTOF: Command: (distof (rtos 3.14159 2 3)2) 3.142 Command: (distof "563.84625343" 2) 563.846 Двойка это также формат единиц, а точность определяется переменной LUPREC определяющей количество знаков после запятой. Кстати обратите внимание на функцию Эдуарда. Она позволяет "дать" число путем выбора на экране текста который возможно преобразовать в вещественное число. Выражение "дать лиспу число" не в полне понятно. |
|||