C 如何輸出浮點數,C 如何用cout控制浮點數輸出的位數?

2022-03-10 03:48:53 字數 6550 閱讀 9936

1樓:金色潛鳥

cout 預設輸出格式相當於 c 裡 %g 格式 -- 簡略格式,例如 123.00000 輸出為 123

123.450000 輸出為123.45

用 cout << fixed << 預設輸出格式相當於 c 裡 %f 和 %lf 格式

如果想指定 輸出小數字數,則要 加 標頭檔案 #include , 呼叫 setprecision(多少位)。

*****==

例子:#include

#include

using namespace std;

main()

例子輸出:

123123.000000

123.00

2樓:匿名使用者

// setprecision example#include

#include

using namespace std;

int main ()

cout<你自己敲這個程式試一下。

3樓:糾結de豌豆尖

float p;

p = (item1 + item2 + item3 + item4 + item5 + item6 + item7 +item8 + item9 + item10)/(count*1.0f);

double p0 = p/1.0f;

cout<<"這組資料的平均數是"<

如果你的item是int行的話 你得轉換其中乙個為float

c++如何用cout控制浮點數輸出的位數?

4樓:倒霉熊

▲setw(n)用法: 通俗地講就是預設寬度

如 cout<

#include //要用到格式控制符

void main()

執行結果為:

3.1428633

3.13.14

3.143

3.14285714

3.14285714e+00

該程式在32位機器上執行通過。

在用浮點表示的輸出中,setprecision(n)表示有效位數。

第1行輸出數值之前沒有設定有效位數,所以用流的有效位數預設設定值6:第2個輸出設定了有效位數0,c++最小的有效位數為1,所以作為有效位數設定為1來看待:第3~6行輸出按設定的有效位數輸出。

在用定點表示的輸出中,setprecision(n)表示小數字數。

第7行輸出是與setiosflags(ios::fixed)合用。所以setprecision(8)設定的是小數點後面的位數,而非全部數字個數。

在用指數形式輸出時,setprecision(n)表示小數字數。

第8行輸出用setiosflags(ios::scientific)來表示指數表示的輸出形式。其有效位數沿用上次的設定值8

setw(n)是設定域寬。

就是你的輸出要佔多少個字元

比如:cout<

就輸出12345

cout<

輸出12345

而如果你要輸出的字元寬度超出了setw(n)的n值,就按輸出字元的寬度輸出。

如你的cout<

就輸出12.3456

5樓:蘸墨點水

比如說你想輸出2位小數,就用以下辦法(假如存入浮點型的是1.123456789)

#include

#include

using namespace std;

int main()

輸出的是:

1.12

(注:「fixed<

保留2位是四捨五入的結果,若想保留6位,就將「cout<

輸出結果是1.123457)

c++語言

c++如何用cout控制浮點數輸出的位數?

6樓:倒霉熊

▲setw(n)用法: 通俗地講就是預設寬度

如 cout<

#include //要用到格式控制符

void main()

執行結果為:

3.1428633

3.13.14

3.143

3.14285714

3.14285714e+00

該程式在32位機器上執行通過。

在用浮點表示的輸出中,setprecision(n)表示有效位數。

第1行輸出數值之前沒有設定有效位數,所以用流的有效位數預設設定值6:第2個輸出設定了有效位數0,c++最小的有效位數為1,所以作為有效位數設定為1來看待:第3~6行輸出按設定的有效位數輸出。

在用定點表示的輸出中,setprecision(n)表示小數字數。

第7行輸出是與setiosflags(ios::fixed)合用。所以setprecision(8)設定的是小數點後面的位數,而非全部數字個數。

在用指數形式輸出時,setprecision(n)表示小數字數。

第8行輸出用setiosflags(ios::scientific)來表示指數表示的輸出形式。其有效位數沿用上次的設定值8

setw(n)是設定域寬。

就是你的輸出要佔多少個字元

比如:cout<

就輸出12345

cout<

輸出12345

而如果你要輸出的字元寬度超出了setw(n)的n值,就按輸出字元的寬度輸出。

如你的cout<

就輸出12.3456

7樓:匿名使用者

你可以在標頭檔案裡 #include。函式裡面加上cout<

8樓:匿名使用者

cout<

fixed 是操作符setiosflags 的引數之一,該引數指定的動作是以帶小數點的形式表示浮點數,並且在允許的精度範圍內盡可能的把數字移向小數點右側;iso::right 也是setiosflags 的引數,該引數的指定作用是在指定區域內右對齊輸出;setprecision 也是包含在命名空間iomanip 中的c++ 操作符,該操作符的作用是設定浮點數;setprecision(2) 的意思就是小數點輸出的精度,即是小數點右面的數字的個數為2。cout<

fixed)<

使用setprecision(n)可控制輸出流顯示浮點數的數字個數。c++預設的流輸出數值有效位是6。

如果setprecision(n)與setiosflags(ios::fixed)合用,可以控制小數點右邊的數字個數。setiosflags(ios::

fixed)是用定點方式表示實數

c++輸出保留3位小數的浮點數

9樓:匿名使用者

#include

using namespace std;

void main() { float a,b; int c;

cin>>a; //a=12.34521

b=a; //b=12.34521

b*=1000; //b=12345.21b+=0.5; //b=12345.71

c=b; //c=12345

b=c; //b=12345

b/=1000; //b=12.345

cout<

10樓:匿名使用者

#include

#include

using namespace std;

int main()

float x=12.34521;

cin>>x;cout

}這才是正確的答案

11樓:匿名使用者

#include

#include //要加這個標頭檔案,作用主要是控制輸入輸出格式using namespace std;

void main()

12樓:

#include

int main(void)

13樓:匿名使用者

#include

int main ()

14樓:鼎晟科技

float f= 0.35687;

printf("%.3f",f);

float f;

scanf("%f",&f);

printf("%.3f",f);

#include

#include

using namespace std;

void main()

15樓:甕秀雅

有多個做法,我一般用: cout.setf(ios::fixed); //定點輸出 cout.precision(3); //設定3位小數

16樓:璀璨星空

float f= 0.35687;

printf("%.3f",f);

c++ 如何實現浮點數的四捨五入?

17樓:

首先要明白浮點數在計算機中都絕大多數是近似值。其實c++對浮點數是自動四捨五入的,而且是非常嚴格地下一位為5則入,小於5則不入。這在double型時一般是沒有問題的。

在float型時,因精度低,記憶體中的近似值可能剛好使決定四捨五入的那一位的5不足額,造成不能四捨五入。例如float x=3.1415;,實際上記憶體中的二進位制換算過來是3.

14149999999999...;,這樣取3位小數後就成了3.141而不是3.

142了;如果換成double型,立馬就變成3.142了。可以這樣解決就保險了:

float型的有效位是6位左右,給要輸出的變數加乙個1e-6,四捨五入的問題就解決了。如:

int main(void)

輸出是3.142。

int main(void)

這個輸出是3.141。

而int main(void)

的輸出就是3.142了

18樓:匿名使用者

double dround(double x,int bit)//double round

{double y=1;

for(int i=0;i

19樓:幻形術

double fun(double num, int n)num = (num + 0.5) %1;

for(int i = 0; i < n; ++ i )return num;}

20樓:w別y雲j間

/*編寫乙個函式double myround(double x),輸入乙個小數,將它四捨五入。

*例如:myround(-3.51)的值是-4.0,myround(4.49)的值是4.0。可以呼叫math.h中的

*庫函式ceil和floor實現這個函式。*/#include

#include

double myround(double x);

int main()

double myround(double x)else}

c++ 中的資料怎樣以浮點小數(而不是定點小數)輸出,而不用科學計數法?

21樓:匿名使用者

//你的要求很特別,不管怎麼說,這個基本達到你的要求了#include

#include

#include

#include

using namespace std;

void myprint(double d)elsecout<

}void main (void)/*我勒個去,我覺得你特殊要求的地方就是那個6後面的0,為什麼非要去掉?c和c++提供的對齊函式挺好的嘛,使你的資料顯示的時候很整齊,要不然顯的很雜亂。想要達到一定的目的,常常是要做出相應的代價的。

另外,就是在資料位數很多的時候如,0.00000123456789,即使是科學計數法也會預設的取6位有效數字,要想顯示全部位數,要麼setprecision(n),這樣有些資料後面有你不想要的0:(;要麼採用二樓策略。*/

c語言如何把整型轉換成浮點數,C語言如何把整型轉換成浮點數?

程式猿3號 c語言有以下幾種取整方法 1 直接賦值給整數變數。如 int i 2.5 或 i int 2.5 這種方法採用的是捨去小數部分,能用於你的問題。2 c c 中的整數除法運算子 本身就有取整功能 int int 而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,...

c語言中怎樣判斷輸入的是整數還是浮點數

先存成字串,判斷有沒有小數點,再從字串格式化成整型或浮點型。include include include char strchr const char str,int ch int main int argc,char argv else system pause return 0 scanf s...

C語言中給浮點數賦值問題c語言中將乙個浮點型賦值給整型時,會不會四捨五入?

float d 0.5 這叫宣告和初始化。願意寫 float d 0.5f 也可以。常數 0.5 預設 處理成 double 型。0.5f 規定 它 是 float 型.其實這不是什麼大問題。相對c語言中別的問題,這個可以完全忽略。float d 這叫宣告。d 0.5 這叫賦值語句。如果你前面有過 ...