Int型、Float型のキャストについて
厳密にはPawnは型を持ってないので、Floatで変数を宣言しても普通にInt値が入る
ていうか数値丸め系の関数の戻り値がIntなので元の変数に戻すと型が変わってしまう
Format関数とかで%fすると型が違うので思った値が得られない。%dするとちゃんと出る。
正確には「変数が」型を持っているのではなくて、「値が」型を持っているように思える。この場合Intの値が入った時点で、その変数はIntになってしまう。
Floatで宣言してるから%fで値を読み取ろうとしても、中身がIntになってしまっているので読み取るには%dする必要があるということ。
PawnでIntをFloatにキャストしたいんだけどIntToFloatとか無いの
— ArcMage (@Alchemist_Ark) 2018年4月8日
厳密に型が無いからFloat型変数にIntが普通に入るし、中身までIntになるから困ってたんだけど、 Float変数 = Int値 * 1.0; でFloatにキャストできました。おい。
— ArcMage (@Alchemist_Ark) 2018年4月8日
健忘録として。びっくりするからやめて欲しい。