format:右寄せしたい - lisp-cookbook-ja/common-lisp GitHub Wiki
** 行幅16で右寄せ
(format nil "~16@A" "foo")
;=> " foo"
10進の数字の場合
(format nil "~16D" 10)
;=> " 10"
16進の数字の場合
(format nil "~16X" 10)
;=> " A"
2進
(format nil "~16B" 10)
;=> " 1010"
8進
(format nil "~16O" 10)
;=> " 12"
2〜36進
(format nil "~7,16R" 10)
;=> " 13"
浮動小数点数
(format nil "~16F" 10)
;=> " 10.0"
浮動小数点数の指数表記
(format nil "~16E" 10)
;=> " 1.e+1"
読み取り可能なS式
(format nil "~16@S" '("foo"))
;=> " (\"foo\")"
行幅16で右寄せ 埋め草文字は "."
(format nil "~16,,,'.@A" "foo")
;=> ".............foo"
10進の数字の場合
(format nil "~16,'.D" 10)
;=> "..............10"
16進の数字の場合
(format nil "~16,'.X" 10)
;=> "...............A"
2進
(format nil "~16,'.B" 10)
;=> "............1010"
8進
(format nil "~16,'.O" 10)
;=> "..............12"
2〜36進(例では7進)
(format nil "~7,16,'.R" 10)
;=> "..............13"
浮動小数点数
(format nil "~16,,,,'.F" 10)
;=> "............10.0"
浮動小数点数の指数表記
(format nil "~16,,,,,'.E" 10)
;=> "...........1.e+1"
読み取り可能なS式 (余計なものを付けるので当然ながら読み戻せない)
(format nil "~16,,,'.@S" '("foo"))
;=> ".........(\"foo\")"