渡辺哲也です。
In message "[ruby-list:15007] Re: 文字列から数値への変換失敗を検出したい"
on 99/06/15, ARIMA Yasuhiro <fit0298 / fitec.co.jp> writes:
|互換性を考えると、String#to_int, String#to_float のように違う名前で
|作るのがいいのかも。
|
|| とりあえずユーザーレベルでできそうなのは、0をあらわすリテラ
|| ルを正規表現をこさえて、0が返されたときにそれとマッチするか
|| 調べるくらいかなぁ。
この辺の仕様は、Perl からきていると思います。
p '1234abc'.to_i
p '1234.012abc'.to_f
の結果が
1234
1234.012
のように、「解釈できるところまで」となっています。
最初にアルファベットなど数字以外がきてしまうと 0
を返します。
これは、C の atoi(3) の仕様からきているような気も
しますが...
私はたぶん /^\d/ で数字が最初にくるか比較してから
先に進める? ような形を書きそうです。
--
WATANABE Tetsuya
e-mail: Tetsuya_WATANABE / hp.com
tetsu / jpn.hp.com