double a = 2451550;
double b = .407864;
double c= a*b;
cout<<c;
我期待的結果是「999898.9892」,但得到「999899」。我需要實際沒有根據的結果。請建議。雙倍乘法給出四捨五入的結果
double a = 2451550;
double b = .407864;
double c= a*b;
cout<<c;
我期待的結果是「999898.9892」,但得到「999899」。我需要實際沒有根據的結果。請建議。雙倍乘法給出四捨五入的結果
它也可以使用像下面的機器人setprecision完成。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double a = 2451550;
double b = .407864;
double c= a*b;
cout<<setprecision(15)<<c;
}
此外,使用操縱器將使代碼緊湊。
默認情況下性病的精度:: iostream的將顯示總多少位數字默認顯示精度是6所以,既然你的電話號碼有六位之前它不會顯示任何小數位小數點後。
您可以使用「固定」操縱器更改此行爲。 '精度',然後更改爲之後顯示的數字位數,這可能是您所期望的。
要始終得到四位小數點後你可以這樣做:
cout << setprecision(4) << fixed << c;
但是,請記住,這將始終即使是零小數點後顯示四位。有沒有簡單的方法來獲得'精度'最多 x小數點後位數與std :: iostreams。
http://docs.sun.com/source/806-3568/ncg_goldberg.html – DumbCoder 2010-11-08 10:51:55
會假設它某種形式的四分之一上漲 – thecoshman 2010-11-08 10:54:59
這可能有助於http://stackoverflow.com/questions/117429/inputting -large-numbers-in-c – DumbCoder 2010-11-08 11:08:47