Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лекция 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)

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.014 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал