我正在尝试将double类型变量转换为long long int。我知道这样做的唯一方法就是施法。 Althoulg似乎没问题,我没有收到我想要的号码。
我发布下面的代码:
double fator = 100000000;
long long int iLongitude = (long long int)(fLongitude*10000000);
我预期的数字是-4396478167,我得到-439647816,没有最后一位数。
感谢您的帮助!
答案 0 :(得分:0)
看起来你只需要再添加一个零,并且还要圆:
(long long int)(fLongitude*100000000 + 0.5);
由于投射截断结果,如果小数部分大于+ 0.5
,0.5
将向上舍入。