Int64
にプリミティブInt
タイプを設定すると問題なく動作します。私はさらに、補足クラス___Int64
のコンストラクタメソッドをキャッチして、とInt
という2つの値を受け入れることもできます。このキャスティングは静的であっても、そのようなコードは完璧に動作しているようです:haxe:抽象的なInt64に整数をキャストする
var short:Int = 1111;
var long:Int64 = 2222;
long = short;
trace(long.high, long.low); // =0,1111
しかし、私は次のようopenfl.utils.Object
インスタンスのフィールドから値を設定してい:
var id:Int64 = data["id"];
"id"
フィールドの値どちらかInt
またはInt64
は - 私は、フィールドの型をチェックし、適切からInt64
をインスタンス化することができますもちろん、エラーTypeError: Error #1034: Type Coercion failed: cannot convert 1111 to haxe._Int64.___Int64.
を持っています。しかし、タイプキャスティングを自動化するためのすっきりしたソリューションはありますか?
JSONで大きな数値を持つオブジェクトを作成するときに、一般的な型であるFloatからの変換を追加しました。 – meps