Rubyで「文字列→数値、数値→文字列、文字列→配列」と変換する手法、変換時の注意点を学びましょう。
文字列、数値、配列の変換手法
このページで学習する変換手法は以下の3つです。
変換前 | 変換後 | |
to_i | 文字列 | 整数 |
to_f | 文字列 | 小数 |
to_s | 数値 | 文字列 |
to_a | 範囲オブジェクト ハッシュ | 配列 |
・to_i(文字列→整数)/ to_f(文字列→小数)
まずは文字列を数値に変換する2つのメゾッド『to_i』『to_f』を使ってみましょう。
#文字列→数値の変換手法(to_i/to_f)
puts "to_i 実行例"
puts "123.456".to_i
puts "to_f 実行例"
puts "123.456".to_f
#実行結果
to_i 実行例
123
to_f 実行例
123.456
ここで『to_i』『to_f』を使う際の注意点を解説します。
文字列を数値に変換する際『数値+文字列』は正確に変換できますが、『文字列+数値』の時には『0』しか出力できないことを覚えておきましょう。
#文字列→数値変換の注意点
puts "to_i 実行例"
puts "123.456+文字列".to_i
puts "文字列+123.456".to_i
puts "to_f 実行例"
puts "123.456+文字列".to_f
puts "文字列+123.456".to_f
#実行結果
to_i 実行例
123
0
to_f 実行例
123.456
0.0
・to_s(→文字列)
次は数値→文字列の変換手法です。
こちらは数値へ変換する時のような中点はないのので非常にシンプルです。
#文字列→数値の変換手法(to_s)
puts "123.456".to_s
#実行結果
123.456
・to_a(範囲、ハッシュ→配列)
範囲オブジェクト、ハッシュを配列に変換する手法です。
#範囲オブジェクト、ハッシュ→配列の変換手法(to_a)
puts "範囲→配列"
puts (1..3).to_a
puts "ハッシュ→配列"
example={hash1:"1",hash2:"2",hash3:"3"}
puts example.to_a
#実行結果
範囲→配列
1
2
3
ハッシュ→配列
hash1
1
hash2
2
hash3
3
その他の『to_#』変換メゾッド
上記で紹介した以外にも『to_#』の形で様々な変換メゾッドがあります。
勉強段階で使うことは少ないので、細かい使い方については省略します。
変換前 | 変換後 | |
to_c | 文字列 | 複素数 |
to_r | 文字列 | 有理数 |
to_h | 配列 | ハッシュ |
to_sym | 文字列 | シンボル |
最低限『to_i』『to_f』『to_s』『to_a』の4つは覚えておきましょう。
コメント