lisp common-lisp itoa

convertir el número a la cadena en lisp



common-lisp itoa (3)

De número a cadena:

(write-to-string 5) "5"

puedes transformar una cadena a cualquier notación numérica:

(write-to-string 341 :base 10) "341"

De la cadena al número:

(parse-integer "5") 5

con un poco de basura

(parse-integer " 5 something not a number" :junk-allowed t) 5

O usa esto:

(read-from-string "23 absd") 23

Intenté encontrar una función lisp para convertir entre números y cadenas y, después de buscar un poco en Google, me gusta una función con el mismo nombre. Cuando entré (itoa 1) SLIME impreso:

Undefined function ITOA called with arguments (1) .

¿Cómo puedo hacer la conversión?


FYI: Creo que (itoa #) es solo una función en AutoLISP - la variante LISP incorporada en el software de diseño AutoCAD. AutoLISP tiene muchas menos funciones que Common Lisp y, a veces, funciones idénticas con un nombre diferente o funciones con el mismo nombre que funcionan de manera diferente.

Probablemente por eso no funcionó para ti. Uso AutoLISP con regularidad y (itoa #) haría exactamente lo que desea.


Una solución pesada es usar FORMATO:

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

También hay WRITE-TO-STRING :

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