我跑http://cpp.sh/大雙被四捨五入爲int - C++
// Example program
#include <iostream>
#include <string>
using namespace std;
int main()
{
double avg = 112964.6;
cout << avg << endl;
}
我拿到112965作爲輸出以下代碼。我已經在其他編譯器中嘗試過了 - 結果相同。
它適用於像11296.6這樣的較小的雙精度值,但像112964.6這樣的大精度雙精度值可以四捨五入爲int。它爲什麼這樣做,我如何阻止它做到這一點?
謝謝!
你是什麼意思「它適用於較小的雙重價值」?你期望什麼值? – Adam
爲avg = 11296.6,我得到11296.6在輸出 - 沒有舍入 – user5527407
你試過'setprecision()'?它的默認值是6,這就是爲什麼它如你所描述的那樣四捨五入。 – Kevin