Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лекция 13. Функции преобразования данных и обработки строк
Функция type Определяет тип символа. (type < символ>) Тип аргумента: символ (имя функции или переменной). Если < символ> не является именем функции или переменной с присвоенным значением, то возвращается nil. Другие варианты возвращаемого значения: · ENAME — примитив AutoCAD; · FILE — указатель (дескриптор) файла; · INT — целое число; · LIST — список, точечная пара или точечный список; · PAGETB — таблица диспетчера страничной организации памяти; · PICKSET — набор; · REAL — вещественное число; · SAFEARRAY — безопасный массив; · STR — строка; · SUBR— встроенная функция или функция, загруженная из VLX-файла (функция, определенная в ARX-приложении, имеет дополнительный признак EXRXSUBR); · SYM — символ; · VARIANT — вариант; · USUBR— пользовательская функция, загруженная из LSP-файла; · VL-CATCH-ALL-APPLY-ERROR— объект, создаваемый функцией vi-catch-all- apply; · VLA-OBJECT — объект Visual LISP, использующий технологию ActiveX (указатель на структуру или экземпляр класса); · VLR-OBJECT — реактор. Некоторые из перечисленных вариантов возвращаемого значения доступны только при использовании других средств разработки приложений. Примеры: · (type 73) возвращает INT · (type 1-) возвращает SUBR · (type " Рлс") возвращает STR · (type '(1 81 264)) возвращает LIST
Функция float Преобразует целое число в вещественное. (float < число>) Тип аргумента: целое или вещественное число Если < число> — целое, то возвращается результат его преобразования в вещественное. Если < число> — вещественное, то оно же и возвращается в качестве значения функции float. Примеры: · (float 4) возвращает 4.0 · (float -69) возвращает -69.0 · (float 4.3) возвращает 4.3
Функция itoa Преобразует целое число в строку. (itoa < целое>) Тип аргумента: целое число. Возвращается строка, являющаяся результатом преобразования аргумента < целое> в строковое представление. Примеры: · (itoa 30) возвращает " 30" · (itoa -572) возвращает " -572" · (itoa 0) возвращает " 0"
Функция rtos Преобразует вещественное число в строку. (rtos < число> [< режим> [< точность> ]]) Аргументы: < число> — вещественное или целое число; < режим> — целое (номер режима представления вещественных чисел); < точность> — количество десятичных знаков в представлении вещественных чисел. Аргументы < режим> и < точность> имеют тот же смысл и принимают те же значения, что и системные переменные LUNITS и LUPREC. Если аргументы < режим> и < точность> опущены, то в качестве их значений принимаются текущие значения LUNITS и LUPREC. На форму возвращаемого значения может оказывать влияние системная переменная UN1TMODE. Допустимые значения аргумента < режим>: · 1 — научный; · 2 – десятичным; · 3 – инженерный (футы и дюймы); · 4 — архитектурный (футы и дюймы); · 5 — дробный. Возвращается строка, являющаяся результатом преобразования аргумента < число> в символьное представление с заданной точностью. Примеры: · (rtos 10.9453 1 3) возвращает " 1.095Е+01" · (rtos 10.9453 2 3) возвращает " 10.945" · (rtos 10.9453 3 3) возвращает " 0'-10.945\" " (обратная косая черта предшествует двойной кавычке, как символу дюйма, ' чтобы не путать ее с двойной кавычкой, являющейся признаком конца строки) · (rtos 10.9453 4 3) возвращает " 0'-11\" " (здесь тоже для вывода внутренней двойной кавычки использована обратная черта) · (rtos 10.9453 2 0) возвращает " 11" · (rtos 10.00000 2 3) возвращает " 10", если значение системной переменной DIMZIN больше или равно 8 (замыкающие нули отбрасываются); возвращает " 10.000" при других значениях DIMZIN · (rtos pi 2 11) возвращает " 3.14159265359" Чаще всего применяется десятичный режим (номер 2).
Функция atoi Преобразует строку в целое число. (atoi < строка>) Тип аргумента: строковый. Возвращается целое число, для которого < строка> является строковым представлением. Примеры: · (atoi " 547") возвращает 547 · (atoi " -26209") возвращает-26209 · (atoi " 1234567890") возвращает 1234567890 · (atoi " 12345678901") возвращает 2147483647 (в данном случае результат не соответствует действительности, поскольку число цифр в строковом представлении превысило допустимый максимум; следует воспользоваться функцией atof, рассматриваемой ниже) · (atoi " -15.28") возвращает -15 (точка и дробная часть отбрасывается) · (atoi " 11d6") возвращает 11 (недопустимые символы и следующие за ними теряются)
Функция atof Преобразует строку в вещественное число. (atof < строка>) Тип аргумента: строковый. Возвращается вещественное число, для которого < строка> является строковым представлением. Примеры: · (atof " 91") возвращает 91.0 · (atof " -4.29") возвращает -4.29 · (atof " 1234567890") возвращает 1.23457е+009 · (atof " 12345678901") возвращает 1. 23457е+010
Функция angtof Преобразует строку, представляющую значение угла в различных форматах, в вещественное число, являющееся величиной угла в радианах. Функция angtof по своему действию является обратной к функции angtos. (angtof < строка> [< представление> ]) Аргументы: < строка> — строка, < представление> — целое число. Значения аргумента < представление> соответствуют значениям системной переменной AUNITS. Если < представление> опущено, то в качестве его значения принимается текущее значение переменной AUNITS. Допустимые значения аргумента < представление>: · 0 — градусы; · 1 — градусы, минуты, секунды; · 2— грады; · 3 — радианы; · 4 — топографические единицы. Возвращается вещественное значение угла в радианах, для которого < строка> является строковым представлением (возможно, в другом формате представления углов). Если < строка> представлена в неправильном формате, то возвращается nil. Примеры: · (angtof " 22" 0) возвращает 0. 383972 (перевод угла из градусов в радианы) · (angtof " 72. 48g" 2) возвращает 1.13851 · (angtof " 7d13 ' 20\" " 1) возвращает 0.126052 · (angtof " _N 14d27'50\" _W" 4) возвращает 1.82324 Функция angtos Преобразует значение угла в радианах в строку, в соответствии с форматом (функция angtos является обратной к функции angtof). (angtos < угол> [< представление> [< точность> ]]) Аргументы: < угол> — вещественное или целое значение угла в радианах; < представление> и < точность> — целые числа. Значения аргумента < представление> соответствуют значениям системной переменной AUNITS, значения аргумента < точность> — значениям системной переменной AUPREC. Если < представление> и < точность> опущены, то в качестве их значений принимаются текущие значения переменных AUNITS и AUPREC. Возвращается < строка>, являющаяся строковым представлением значения угла. На форму результата оказывает влияние значение системной переменной UNITMODE. Необходимо также учитывать значение переменной ANGBASE. Примеры: · (angtos 1.00 0) возвращает " 57" · (angtos 1 0) возвращает " 57" · (angtos 3.14000 0 3) возвращает " 179.909" · (angtos 3.14000 1 3) возвращает " 179d54 '31\" " · (angtos 3.14000 2 3) возвращает " 199.899g" · (angtos 3.14000 3 2) возвращает " 3.14r" · (angtos 1.294 4) возвращает " N 16d Е" · (angtos 1.294 4 4) возвращает " N 15d51'33\" Е"
Функция distof Преобразует строку, представляющую вещественное значение в одном из форматов линейных единиц, в вещественное число. Функция distof является обратной по отношению к функции rtos. (distof < строка> [< режим> ]) Аргументы: < строка> — строка, представляющая число в одном из форматов; < режим> — целое число, значения которого соответствуют значениям системной переменной LUNITS. Если аргумент < режим> опущен, то в качестве его значения принимается текущее значение системной переменной LUNITS. Возвращаемое значение: вещественное число. Если < строка> имеет неправильную структуру, то возвращается nil. Примеры: · (distof " 4" 2) возвращает 4.0 · (distof " 32.53е+02" 1) возвращает 3253.0 · (distof " 0'-10.4\" " 3) возвращает 10.4 · (distof " ") возвращает nil
Функция cvunit Преобразует значение из одной системы единиц измерения в другую. (cvunit < значение> < е-из> < е-в>) Аргументы: < значение> — число или список из двух или трех чисел; < е-из> — единица измерения, в которой задано < значение>; < е-в> — единица измерения, в которую надо перевести < значение>. Возвращаемое значение имеет тот же тип (число или список), что и аргумент < значение >. Если преобразование невозможно, то возвращается nil. Наименования единиц измерения, которые могут быть использованы в качестве аргументов < е-из> и < е-в>, должны быть перечислены в файле acad.unt текущего пользователя. Примеры: · (cvunit 2 " minute" " second") возвращает 120.0 · (cvunit 2 " минут" " секунд") возвращает 120.0 (в русской версии) · (cvunit 1 " минута" " секунда") возвращает 60.0 (в русской версии) · (cvunit 1 " minute" " hour") возвращает 0.016667 · (cvunit '(10.0 2.0) " дюйм" " см") возвращает (25.4 5.08)
|