-3

double 型の変数を long long int に変換しようとしています。私が知っている唯一の方法は、キャストすることです。問題ないようですが、希望の番号が届きません。

以下にコードを投稿します。

double fator = 100000000;
long long int iLongitude = (long long int)(fLongitude*10000000);

私が期待した数字は -4396478167 で、最後の桁なしで -439647816 を取得しています。

助けてくれてありがとう!

4

1 に答える 1

0

もう1つゼロを追加し、丸める必要があるようです:

(long long int)(fLongitude*100000000 + 0.5);

キャストでは結果が切り捨てられるため+ 0.5、小数部分が より大きい場合は切り上げられ0.5ます。

于 2013-03-25T18:10:43.340 に答える