2011/04/07

文字列から数値へ型変換



いつも忘れるのでメモっておく。

parse-integer

リファレンスによると、xyzzy は一部 common lisp と動作が違うみたい。

下記は xyzzy でのテスト。

;; まずは基本
(parse-integer "00003")         ; 多値で返す
3                               ;   整数値
5                               ;   読み込んだ最後の文字のインデクス(1始まり) 何に使うのか??

;; junk-allowed というのをつけてみる(xyzzy と common lisp では動作が違うらしい)
(parse-integer "  345   " :junk-allowed t) ; 前後の空白を無視して読んでくれる( xyzzyの場合)
345
5

;; 16進数を読んでみる
(parse-integer "0xff" :radix 16 :start 2)
255
4

;; 数字以外がふくまれているとエラーを出す
(parse-integer "34e99")
不正な数値の形式です: "34e99"

;; 小数点もダメ
(parse-integer "3.8")
不正な数値の形式です: "3.8"

;; 分数もダメ
(parse-integer "3/8")
不正な数値の形式です: "3/8"


名前のとおり、integer → string への型変換と考えたほうがよさそう。




Related Posts Plugin for WordPress, Blogger...

0 コメント :

コメントを投稿