2008-12-29 5 views
5

estoy jugando con función de formato de Lisp, pero he con un obstáculo, porque aunque puedo llegar a escribir la lista de números alineados muy bien, me parece que no puede conseguir que la almohadilla cero que:¿Cómo puedo rellenar un argumento con ceros usando la función de formato Lisp?

(defun inc (a) (+ 1 a)) 
(dotimes (i 10) 
    (format t "[email protected]:D ~:*~R~%" (inc i))) 

Esto produce el siguiente resultado:

+1: one 
+2: two 
+3: three 
+4: four 
+5: five 
+6: six 
+7: seven 
+8: eight 
+9: nine 
+10: ten 

¿alguien sabe cómo conseguir que sea rellenado con ceros?

Respuesta

9

Ejemplo levantada de the PCL chapter on FORMAT:

(format nil "~12d" 1000000) ==> "  1000000" 
(format nil "~12,'0d" 1000000) ==> "000001000000" 
+0

(formato nil "~ 12, '0d" -10000) ==> "000.000-10.000" – Sam

Cuestiones relacionadas