转换数为字符串口齿不清(converting number to string in lisp)

2019-09-01 03:17发布

我试图找到一个Lisp函数具有相同名称的数字和字符串之间和一点点的谷歌搜索后,我喜欢一个功能转换。 当我进入(itoa 1) SLIME印刷:

Undefined function ITOA called with arguments (1) .

我该怎么办转换?

Answer 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


Answer 2:

一个重量级的解决方案是使用以下格式:

[2]> (format nil "~A" 1)
"1"

另外也WRITE-TO-STRING :

[3]> (write-to-string 10)
"10"


Answer 3:

FYI:我相信(itoa#)仅在AutoLISP中具有的功能 - 嵌入在AutoCAD绘图软件的LISP变种。 的AutoLISP具有比普通的Lisp函数少得多,并用不同的名称或功能与不同的操作相同的名称有时相同的功能。

这可能是为什么它不为你工作。 我使用AutoLISP语言定期(itoa#)会做正是你想要那里。



文章来源: converting number to string in lisp