我试图找到一个 lisp 函数来在数字和字符串之间进行转换,经过一番谷歌搜索后,我喜欢了一个同名的函数。当我进入(itoa 1)
SLIME 时打印:
Undefined function ITOA called with arguments (1) .
我该如何进行转换?
我试图找到一个 lisp 函数来在数字和字符串之间进行转换,经过一番谷歌搜索后,我喜欢了一个同名的函数。当我进入(itoa 1)
SLIME 时打印:
Undefined function ITOA called with arguments (1) .
我该如何进行转换?
从数字到字符串:
(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
一个重量级的解决方案是使用 FORMAT:
[2]> (format nil "~A" 1)
"1"
[3]> (write-to-string 10)
"10"
仅供参考:我相信(itoa #)只是 AutoLISP 中的一个功能 - 嵌入在 AutoCAD 绘图软件中的 LISP 变体。AutoLISP 的函数比 Common Lisp 少得多,有时相同的函数具有不同的名称或具有相同名称但操作不同的函数。
这可能就是为什么它对你不起作用。我经常使用 AutoLISP,并且 (itoa #) 会完全按照您的意愿行事。