doubleに「正確な」整数値がある場合、次のようになります。
double x = 1.0;
double y = 123123;
double z = -4.000000;
(int)x、(int)y、(int)zを介して整数型にキャストすると、1、123123、および-4に正しく丸められることが保証されていますか?(そして、浮動小数点の奇妙さの0、123122、または-5 b / cに切り捨てないでください)。私はこのページ(デフォルトでは数値型としてdoubleのみを持つ言語であるluaのfpについて)に従ってb / cに質問し、IEEE 754に従ってdoubleを使用した整数演算がどのように正確であるかについて話しますが、私はそうではありません整数型のパラメーターを使用してC関数を呼び出すときに、doubleを手動で丸めることを心配する必要がある場合、またはdoubleが正確な整数値を持つ場合はそれが処理されることを確認してください。