#include <iostream>
using namespace std;
int main()
{
float s;
s = 10/3;
cout << s << endl;
cout.precision(4);
cout << s << endl;
return 0;
}
爲什麼輸出不顯示3.333但只有3?C++ Cout浮點數問題
#include <iostream>
using namespace std;
int main()
{
float s;
s = 10/3;
cout << s << endl;
cout.precision(4);
cout << s << endl;
return 0;
}
爲什麼輸出不顯示3.333但只有3?C++ Cout浮點數問題
,因爲你正在做s = 10/3
整數除法嘗試
s = 10.0f/3.0f
做一個恆定的浮動師正確的方法是:
s = 10.f/3.f; // one of the operands must be a float
沒有f
後綴,你是做double
師,發出警告(從float
到double
)。
您也可以施放一個操作數:
s = static_cast<float>(10)/3; // use static_cast, not C-style casts
在正確分割了。
關閉,但現在是雙倍的。 – GManNickG 2009-09-10 21:29:20
現在怎麼樣? – jcopenha 2009-09-10 21:33:07
右鍵。 :P [15chars] – GManNickG 2009-09-10 21:33:30