文字列を数値に変換する


Tags: 文字列, R6RS

文字列を数値に変換する

string->number を使います。

(import (rnrs))

(string->number "1") ; => 1
(string->number "1/10") ; => 1/10
(string->number "1.2") ; 1.2
(string->number "1+2i") ; 1+2i

文字列表現に応じて、整数、有理数、実数、複素数に適宜変換される。

整数については基数を指定することもできる。

(import (rnrs))

(string->number "11" 2) ; => 3
(string->number "11" 8) ; => 9
(string->number "11" 10) ; => 11
(string->number "11" 16) ; => 17

この基数指定は文字列の方に基数接頭辞をつけることで上書きすることができる。

(import (rnrs))

(string->number "#d11" 16) ; => 11

数値に変換できなかった場合は #f を返します。