Rubyの変換メソッド:to_i, to_f, to_cを徹底解説
Rubyプログラミングでは、異なる型間でのデータ変換が頻繁に行われます。
この記事では、文字列から整数、浮動小数点数、複素数への変換を行うto_i
、to_f
、to_c
メソッドに焦点を当てて、それぞれの使用方法と応用例を詳しく解説します。
to_iメソッドの基本
to_i
メソッドは、文字列を整数に変換します。このメソッドは文字列の先頭から数値に変換できる部分を読み取り、それを整数として返します。
ソースコード例: to_iメソッドの使用
1 2 3 4 5 6 7 8 |
class Program def self.main number = "123abc".to_i puts number end end Program.main |
出力結果
123
to_fメソッドの基本
to_f
メソッドは、文字列を浮動小数点数に変換します。
このメソッドもto_i
と同様に、文字列の先頭から浮動小数点数に変換できる部分を読み取ります。
ソースコード例: to_fメソッドの使用
1 2 3 4 5 6 7 8 |
class Program def self.main number = "123.45xyz".to_f puts number end end Program.main |
出力結果
123.45
to_cメソッドの基本
to_c
メソッドは、文字列を複素数に変換します。複素数は数学や工学分野でよく使用され、Rubyではこの変換を容易に行うことができます。
ソースコード例: to_cメソッドの使用
1 2 3 4 5 6 7 8 |
class Program def self.main complex_number = "3+4i".to_c puts complex_number end end Program.main |
出力結果
3+4i
複数の変換例と応用
実際のアプリケーションでは、多様な形式の文字列から数値への変換が必要になることがよくあります。以下に、to_i
、to_f
、to_c
メソッドを用いたさまざまな変換例を示します。
不完全な数値文字列の変換
数値の形式が完全でない文字列も、これらのメソッドを使用して変換することができます。
ただし、変換できる部分のみが取り出され、残りは無視されます。
ソースコード例: 不完全な数値文字列の変換
1 2 3 4 5 6 7 8 9 |
class Program def self.main puts "12abc".to_i puts "45.67xyz".to_f puts "5+6j klmn".to_c end end Program.main |
出力結果
12
45.67
5+6i
変換に失敗する場合
変換できない形式の文字列を変換しようとすると、to_i
とto_f
は0
を、to_c
は0+0i
を返します。
ソースコード例: 変換に失敗する場合
1 2 3 4 5 6 7 8 9 |
class Program def self.main puts "abc".to_i puts "xyz".to_f puts "klmn".to_c end end Program.main |
出力結果
0
0.0
0+0i
まとめ
Rubyのto_i
、to_f
、to_c
メソッドは、文字列から整数、浮動小数点数、複素数への変換を容易に行うことができます。これらのメソッドは、入力データの前処理や数値計算の際に非常に便利です。ただし、変換できない形式の場合の扱いに注意が必要です。
最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!