| |||
数値の後に文字を入れて表示させようとしたが数値しか表示されない
| |||
|
HSPでは、同じ変数に数値も文字列も同様に入れることが可能な言語です。 文字列を入れれば、その変数は文字列型変数として使用できますし、 数値を入れれば、以降は数値型変数として演算させることができるようになります。 既に文字列テキストの入っている変数の最後に数値を付け足すと、 問題なく処理されますが、逆に数値の後ろに文字列を足す場合、 もしくは文字列テキストの前に数値を足す場合は、注意が必要です。 他の言語の場合は、明示的に型の変換作業を入れない限り勝手には変換されませんが、 HSPの決まりの1つとして、型は最も左(先)に代入される値の型に合わされます。 つまり、「変数 = 123 + "テキスト"」としても、 左の型(数値)に合わされてテキストは全てゼロになり、変数には123だけが代入されます。 もし、「123テキスト」といった文字列を変数に代入したいのであれば、 123を文字列型に変換するか、123の前に空文字""を付ける事で希望通りとなります。 これは、変数の代入だけではなく、テキスト出力場合も一緒です。 「mes "" + 123 + "テキスト"」としてください。 | |||
|
上記内容は理解できているものの、少し違った形で問題となっている話も聞きます。 これは、HSP3から利用できるようになった実数型の話ですが、 実数型に整数値を入れると、小数点以下が消えてしまうと言うものです。 コレも一番左が実数値であれば問題ないので、「0.0」を足すか「1.0」を掛けてください。 |