JavaScriptで数値から文字列に変換する4つの方法!

JavaScript

JavaScriptで「数値から文字列」に変換する方法について書いています。
変換するサンプルコードと一緒に解説しています。

数値を文字列に変換する時には下記を使います。

・Stringオブジェクト
・toStringメソッド
・toFixedメソッド
・文字列結合(+)を使う

基本的にはStringオブジェクトを使用するとコードが見やすくなるかと思います。場合によってはtoStringやtoFixedを使うと良さそうです。
それでは、詳しくみていきましょう。

「文字列から数値」に変換する方法については、下記に書いたので確認してみてください。
・JavaScriptで文字列から数値に変換する3つの方法!

PR

Stringオブジェクトで文字列に変換する

Stringを使って、数値を文字列に変換します。
数値をStringに渡すと文字列になります。

例えば、下記のように使います。

let number = 1000
let numberText = String(number)

console.log(typeof(numberText)) // string
console.log(numberText) // 1000

number変数に数値の1000を代入しました。
String(number)で文字列の数値が返ってきます。

返ってきた文字列をnumberText代入しています。
typeof関数を使って型を出力すると、文字列になっているためstringが出力されることが確認できました。

PR

toStringメソッドで文字列に変換する

数値が入った変数からtoStringメソッドを呼ぶことができます。
下記のように、toStringメソッドを使うことで文字列になります。

let number = 1000
let numberText = number.toString()

console.log(typeof(numberText)) // string
console.log(numberText) // 1000

先ほどのように、number変数に数値の1000を代入しました。
その後に、number変数からtoStringメソッドを呼んで、返り値をnumberText変数に代入しています。

こちらもtypeof関数を使って出力すると、文字列のstringが出力されることが確認できました。

toStringメソッドは基数を指定できる

toStringメソッドを使う時に、基数を指定することができます。
基数を指定することで、10進数から2進数・8進数・16進数などに変換可能です。

例えば、下記のように使用します。

let number = 100
let number1 = number.toString(2)
let number2 = number.toString(8)
let number3 = number.toString(16)

console.log(number1) // 1100100
console.log(number2) // 144
console.log(number3) // 64

number変数に100を代入しました。
その後に2進数・8進数・16進数に変換してみています。

最初にtoStringに2を渡して、2進数にしました。
number1変数に変換した結果を代入しています。

同じようにnumber2変数に8進数変換した値を代入して、number3変数に16進数変換した値を代入しました。
それぞれの値を出力すると、100から、それぞれの進数に変換されました。

2進数 => 1100100
8進数 => 144
16進数 => 64

このように基数を指定することで、進数を変えることもできます。
返ってきた値は文字列です。

基数としては、2から最大で36まで指定が可能です。

toFixedメソッドで文字列に変換する

toFixedメソッドを使用すると、小数点の桁数を指定して文字列を返すことが可能です。
例えば、下記のように使用します。

let number = 3.14159
let numberText = number.toFixed(2)

console.log(numberText) // 3.14

最初にnumber変数に3.14159という少数を入れています。
その次にtoFixedメソッドを使っています。
引数として、2を渡しているので、小数第2桁まで表示されます。

numberText変数に返ってくる時には文字列になっています。
結果として、出力すると「3.14」が出力されます。

引数に何も渡さない場合には、小数点以下は四捨五入された値が文字列で返ってきます。

let number = 3.5
console.log(number.toFixed()) // 4

少数の値を使う場合には、toFixedメソッドを使うと良さそうです。

文字列結合(+)で文字列に変換する

文字列結合(+)を使うことでも、文字列にすることが可能です。
例えば、下記のような場合です。

let number = 1200
let numberText = number + ''

console.log(typeof(numberText)) // string
console.log(numberText) // 1200

最初にnumber変数に1200を代入しています。
その後にnumber変数に「+」を使って、空文字を結合しています。
これで文字列になります。

出力すると、型がstringになっていることが確認できました。
簡単に使うことができますが、JavaScriptの挙動をあまり知らない人が見ると、わかりずらいのでStringオブジェクトを使った方が良さそうだなと感じました。

コメント

タイトルとURLをコピーしました