こんにちは、ともくんのゲーム作り部屋にようこそ!
このページでは、
「UnityのToStringメソッドってなに?」
「ToStringメソッドの使い方が知りたい!」
というお悩みの方に向けた内容となっています。
Unityでは、UIにスコアなどの数値を表示させる際に、数値データではなく文字列データにする必要があります。
このUI表示の際に、数値を文字列に変換することができるToStringメソッドが使われます。
このToStringメソッドは、
数値.ToString()
と、書いてあげることで、その数値を文字列に変換する処理を行います。
そこで、このページでは、Unityで使われるToStringメソッドについて、どんな仕様や特徴なのか、また使い方についてまとめていきます。
ToStringメソッドとは?
まずは、ToStringメソッドがどういう処理を行うのかについて紹介していきます。
数値を「文字列」に変換することができる
冒頭でも解説した通り、ToStringは数値を文字列に変換することができるメソッドです。
そもそも数値と文字列というのは、C#上でのデータ型を表していて、
といった違いがあります。
そして、この数値のデータ型を文字列のデータ型に変換することができるのが、ToStringメソッドということになります。
なお、反対に文字列のデータ型を数値のデータ型に変換する処理として、Parseメソッドというものがあります。
UI表示は「文字列」でないといけない
ToStringメソッドは、Unityでのゲーム内のUI表示を作る際に使われることが多いです。
なぜなら、UI表示ではスコアなどの数値であっても、文字列のデータとして表示させることになるからです。
詳しく言うと、UIに表示させる際は、UIのTextMeshProを使うことになりますが、

下の赤枠で囲っているテキスト欄に入っている文字列データが、UIに表示されることになります。

そのため、UnityのUI表示では、数値であっても文字列に変換させる必要があり、この変換にToStringメソッドが使われることが多いです。
ToStringメソッドの使い方
ここからは、数値を文字列に変換できるToStringメソッドの使い方について、紹介していきます。
ToStringの前に数値を記述する
ToStringメソッドの使い方は、
数値.ToString()
と、ToStringの前に変換したい数値のデータ型を指定することで、その数値を文字列に変換することができます。
例えば、ゲーム内でスコアを表示させたい場合、以下のようにスコアを管理するint型の変数scoreをToStringで文字列に変換して、UIのテキストに入れてあげることで、スコアを表示させることができます。
using TMPro;
using UnityEngine;
public class Score : MonoBehaviour
{
int score; // スコア用の変数を宣言
void Start()
{
score = 100; // スコアに100を代入
GetComponent<TextMeshProUGUI>().text = score.ToString(); // UIのテキストにスコアを文字列に変換して入れる
}
}

引数で桁などの書式が決まる
ToStringメソッドは、引数に数値を表示させる書式を指定してあげることで、表示される形式を変えることができます。
具体的には、数値の桁数を決めたり表示形式を変えることができ、主に以下の2つがよく使われます。
引数の書式指定子 | 型 | 内容 |
---|---|---|
D | 整数型 | 数値が整数の時に使う。Dの後ろに整数の桁数を指定。 その桁に満たない数値は、0が自動で挿入される。 |
F | 固定小数点型 | 数値が小数の時に使う。Fの後ろに小数点以下の桁数を指定。 端数がある場合は四捨五入される。 |
1856.ToString(“D4”) ⇒ 「1856」
1856.ToString(“D6”) ⇒ 「001856」
1.4895.ToString(“F3”) ⇒ 「1.490」
1.4895.ToString(“F5”) ⇒ 「1.48950」
なお、どちらも引数の指定は、文字列となっているので、””のダブルクォーテーションで囲んで指定してあげます。
まとめ
このページでは、Unityで使われるToStringメソッドについて、どんな仕様や特徴なのか、また使い方までをまとめていきましたが、いかがでしたでしょうか?
ToStringメソッドとは、数値データを文字列のデータに変換することができるメソッドです。
主に、UIでのスコアなどの数値を表示させる際に、ToStringメソッドがよく使われています。
また、ToStringメソッドの引数を使って桁数の表示を変更させることができるので、表示させたい書式に変更して文字列として変換することができます。
最後までお読みいただきまして、ありがとうございました!
コメント