Со следующим кодом:
int ten{ 1 };
double zeroPnine{ 0.9 };
cout << ten - zeroPnine << endl; // 0.1
cout << (ten - zeroPnine) * 10 << endl; // 1
cout << static_cast <int>(ten - zeroPnine) << endl; // 0
cout << static_cast <int>((ten - zeroPnine) * 10 )<< endl; // 1
Я ожидаю, что последняя строка выведет 1, но фактический вывод на самом деле 0, почему?
Полный вывод: 0,1
1
0
0
0.9
не является целым числом. - person   schedule 19.02.20150.9
на самом деле0.90000000000000002220446049250313080847263336181640625
- person molbdnilo   schedule 19.02.2015