目次
背景
文字列を整数、整数を文字列に変換する方法がパッと出なかったので、ブログにまとめようと思います。
文字列を整数に変換する
Ruby
Rubyで文字列を整数に変換するためには、String#to_i
を使用します。
age = "25" p age.to_i; #=> 25
数字が含まれていない文字列オブジェクトにString#to_i
を使用した場合、全て数字の0
に変換します。
age = "あ" p age.to_i; #=> 0
TS
TSで文字列を整数に変換するためには、parseInt()
またはNumberコンストラクタ
を使用します。
parseInt()
の場合、数値を含む文字列から数字部分だけを取り出して文字列に変換することができるので、数値以外の余計な文字列が含まれた文字列を許容しています。Numberコンストラクタ
の場合、そのような文字列をNaN
に変換するので、数値のみの文字列がちゃんと渡されていないことがわかります。そのため、 TSで文字列を整数に変換したい場合、Numberコンストラクタ
をメインで使用していきます。
// 数値以外の余計な文字列が含まれた文字列の場合 const age = "25歳"; console.log(parseInt(age)); // => 25 console.log(Number(age)); // => NaN
// 数値のみの文字列の場合 const age = "25"; console.log(parseInt(age)); // => 25 console.log(Number(age)); // => 25
数値を含まない文字列に使用した場合、parseInt()
もNumberコンストラクタ
もNaN
を返します。Rubyではそのような場合、0
になるので、仕様が異なります。
const age = "あ"; console.log(parseInt(age)); // => NaN console.log(Number(age)); // => NaN
整数を文字列に変換する
Ruby
Rubyで整数を文字列に変換する場合、Integer#to_s
を使用します。
age = 25 p age.to_s # => "25"
もし、ageがnil
の場合、to_s
を実行するとNilClass#to_s
が呼ばれます。NilClass
はnil のクラスです。 nil は NilClass クラスの唯一のインスタンスです。NilClass#to_s
は空文字列を返します。
age = nil p age.to_s # => ""
Rubyではto_s
以外に、式展開で整数を文字列に変換できます。
age = 25 p "#{age}" # => "25"
TS
TSで整数を文字列に変換する場合、テンプレートリテラルを使うのがシンプルかつ覚えやすいです。
const age = 25; console.log(`${age}`); // => "25"
参考記事
String#to_i (Ruby 3.2 リファレンスマニュアル)
【Ruby】 to_iメソッドの使い方を理解しよう | Pikawaka
Number() コンストラクター - JavaScript | MDN
JavaScriptのparseInt()とNumber()の違い - Qiita