[LISPWORKS][Common Lisp HyperSpec (TM)] [Previous][Up][Next]


22.3.2.1 Tilde R: Radix

~nR prints arg in radix n. The modifier flags and any remaining parameters are used as for the ~D directive. ~D is the same as ~10R. The full form is ~radix,mincol,padchar,commachar,comma-intervalR.

If no prefix parameters are given to ~R, then a different interpretation is given. The argument should be an integer. For example, if arg is 4:

* ~R prints arg as a cardinal English number: four.

* ~:R prints arg as an ordinal English number: fourth.

* ~@R prints arg as a Roman numeral: IV.

* ~:@R prints arg as an old Roman numeral: IIII.

For example:

 (format nil "~,,' ,4:B" 13) =>  "1101"
 (format nil "~,,' ,4:B" 17) =>  "1 0001"
 (format nil "~19,0,' ,4:B" 3333) =>  "0000 1101 0000 0101"
 (format nil "~3,,,' ,2:R" 17) =>  "1 22"
 (format nil "~,,'|,2:D" #xFFFF) =>   "6|55|35"

If and only if the first parameter, n, is supplied, ~R binds *print-escape* to false, *print-radix* to false, *print-base* to n, and *print-readably* to false.

If and only if no parameters are supplied, ~R binds *print-base* to 10.


The following X3J13 cleanup issues, not part of the specification, apply to this section:


[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996-2005, LispWorks Ltd. All rights reserved.