关于double的static_cast

时间:2019-06-24 10:55:20

标签: c++ static-cast

我有一个双精度数字要转换为int64_t,我正在使用static_cast,当我使用double和使用{{1}时,这会给我不寻常的结果}。

我尝试了所有可能的双精度数,其中某些数字给出了不寻常的结果,例如float给出了8.2等。

这两个功能是:

使用819

double

使用int a = static_cast<int64_t>((double)9.7*100);

float

1和2的预期输出为970,但是对于1来说,我得到969,对于2来说,我得到了正确的结果970。

0 个答案:

没有答案