преобразование числа в строку в Лиспе
Я попытался найти функцию lisp для преобразования между числами и строками, и после небольшого поиска в Google я люблю функцию с тем же именем. когда я вошел (itoa 1)
слизь напечатано:
Undefined function ITOA called with arguments (1) .
Как я могу сделать преобразование?
3 ответов
из числа в строку:
(write-to-string 5)
"5"
вы можете преобразовать строку в любой цифровой записи:
(write-to-string 341 :base 10)
"341"
от строки к номеру:
(parse-integer "5")
5
С каким-то мусором
(parse-integer " 5 something not a number" :junk-allowed t)
5
или так:
(read-from-string "23 absd")
23
тяжеловесное решение - использовать формат:
[2]> (format nil "~A" 1)
"1"
появилась ЗАПИСЬ В СТРОКУ:
[3]> (write-to-string 10)
"10"
FYI: я считаю, что (itoa#) - это только функция в AutoLISP-варианте LISP, встроенном в программное обеспечение AutoCAD. AutoLISP имеет гораздо меньше функций, чем Common Lisp, и иногда идентичные функции с другим именем или функции с тем же именем, которые работают по-разному.
вероятно, поэтому это не сработало для вас. Я использую AutoLISP регулярно и (itoa #) будет делать именно то, что вы хотите там.