ご存知のように、elispはさまざまな基数の数値をサポートしています。たとえば#20r1j
、基数10の39に相当します。#20r1j
として表示したい#20r1j
。しかし(format "%d" #20r1j)
、私に与えます39
。番号を元のベースに保つ方法は?
1 に答える
13
フォーマット文字列として、表示できるベースはかなり制限されています。
%dは、10進数(%o 8進数、%x 16進数)の数値として出力することを意味します。
%Xは%xに似ていますが、大文字を使用します。
ただし、calcライブラリを使用してこれを管理できます。
(require 'calc-bin)
(let ((calc-number-radix 20))
(math-format-radix 39))
"1J"
(let ((calc-number-radix 20))
(math-format-radix #20r1j))
"1J"
calc-number-radix
使用している読み取り構文と同様に、 2から36までの実行の許容値。
于 2012-04-28T04:57:40.527 に答える