long long d = 999999998.9999999994;
cout<<d;
我得到的输出是: 999999999
(四舍五入)
但是这段代码的输出结果是:
long long d = 999999998.9999994994;
cout<<d;
这里输出的是 999999998
(向下取整)。
这可能与精度有关。您是否可以改变精度?floor()
函数也会产生相同的结果。
我还注意到,如果将值8.9999994994
或8.9999999994
分配给d
(上面的变量),输出为8
。