Yuki's Tech Blog

仕事で得た知見や勉強した技術を書きます。

【Ruby】【TS】文字列を整数、整数を文字列に変換する方法をざっくりまとめてみた

目次

背景

文字列を整数、整数を文字列に変換する方法がパッと出なかったので、ブログにまとめようと思います。

文字列を整数に変換する

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が呼ばれます。NilClassnil のクラスです。 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

parseInt() - JavaScript | MDN

JavaScriptのparseInt()とNumber()の違い - Qiita

Integer#inspect (Ruby 3.2 リファレンスマニュアル)

NilClass#to_s (Ruby 3.2 リファレンスマニュアル)