double 値を Int64 に変換する、現在取り組んでいるゲームのコードがあります。問題のある領域は次のとおりです。
double xVal = 1.6;
Int64 xValInt64 = (Int64)xVal;
Int32 xValInt32 = (Int32)xVal;
私のPCでのテストはうまくいきます。
ただし、モバイル デバイス (iPhone) でテストすると、次の結果が得られます。
xValInt64 = 4609884575999459329
xValInt32 = 1
なぜこれが起こっているのか、頭を悩ませることはできません。誰もこれを前に扱ったことがありますか?キャストが機能しないのはなぜですか?