search
LoginSignup
0

More than 1 year has passed since last update.

posted at

Ruby:文字列型と整数型をそれぞれ型変換してみる

最初に

カレンダー企画2020の10日目
プログラミングの勉強を始めて3ヵ月程経ったので学んだことのメモをアウトプットとして記事に残します。
これからプログラミングの世界に入る人の手助けになれたら嬉しい限りです。
間違っていたり、言葉が違っていたり、誤解されるような言葉があったら教えてください^^
言葉を長々と読みづらかったら申し訳ありません。少しずつなれてがんばります。

文字列型と整数型をそれぞれ型変換する

1. 整数型→文字列型に変換してみる

変換をする際に使うメソッドは to_s です!

早速やってみます

demo.rb
puts "Yutaの年齢は" + 27 + "です"

こんな感じに文字列型と整数型を混ぜてみます!

ターミナル
$ ruby demo.rb
Traceback (most recent call last):
        1: from demo.rb:1:in `<main>'
demo.rb:1:in `+': no implicit conversion of Integer into String (TypeError)

おそらくエラーになると思います。
Yutaの年齢は27です
こんな風にできると思ったらこれでは出来ないみたい、、、

エラーが出た理由

文字列型同士であると " + " は「つなぐ」という意味
整数型同士であると " + " は「足し算をする」という意味
なのですが、今回は
文字列型と整数型をつなごうとした為に「そんなこと出来ないよ〜」というエラーが起きたということです!

解決策は??

Yutaの年齢は27ですのようにしたいなら
「27」が文字列型になれば良さそうですよね!!

ここでto_sの出番というわけです。

demo.rb
puts "Yutaの年齢は" + 27.to_s + "です"

27のところに付け加えるだけで

ターミナル
$ ruby demo.rb
Yutaの年齢は27です

となります!
27の部分が文字列型に変換されたので上記のような結果が出力されたのです。

2. 文字列型→整数型へ変換してみる

使うメソッドは to_i です!

使い方は一緒です。
文字列になっているところを整数型にしたい場合は対象に .to_i をつけるだけです!

demo.rb
puts "12" + 1

足し算なので13と出力されたいのですがこのままではエラーが起きるので

demo.rb
puts "12".to_i + 1
ターミナル
$ ruby demo.rb
13

狙いどおりに出力されます。

このようにそれぞれの型を別のものに変換できます。

最後に

アプリケーションを作成していく中で金額を取り扱う時にこの知識があると便利でした。
計算したい時は整数型、文字と連結させたい時は文字列型となる。ここを理解してなかった時は混乱してうまく出来なかったです^^;
""で囲むと文字列型になる!だけでも覚えて置くといいかも!!
あとは少しずつ^^

こちらでも整数型、文字列型を説明しているので良かったらどうぞ!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0