c語言程式設計操作要求輸出小數點後兩位我用

2021-05-27 03:25:41 字數 4046 閱讀 2595

1樓:

給你舉個例子就妥了:

至於你的為什麼錯,因**不全,我沒有看明白。

2樓:匿名使用者

用計算後轉成字串。

double f1;

f1=1234.5678;

string s1;

//sprintf(s1,"%8.2f",f1);

sprintf(s1, "%*.*f", 10, 2, f1);

cout<者:

#include

#include

using namespace std;

int main( void )

3樓:匿名使用者

c++對輸出的格式化控制:

首先要包含標頭檔案,#include ,當然還有名稱空間std。

按照msdn的說明這個標頭檔案有以下幾個方法:

setprecision預設保留6位數,包括整數部分和小數部分,不包括小數點。若指定長度,則從高位到地位計算到指定長度截至。

setw設定顯示時候的長度,如果資料長度大於設定的長度,則按資料長度實際顯示。若小於設定的長度,則在前導預設補充空格,可以使用setfill設定前導填充字元。

這是msdn官方的例子,你體會下:

#include

#include

using namespace std;

const double   d1 = 1.23456789;

const double   d2 = 12.3456789;

const double   d3 = 123.456789;

const double   d4 = 1234.56789;

const double   d5 = 12345.6789;

const long      l1 = 16;

const long      l2 = 256;

const long      l3 = 1024;

const long      l4 = 4096;

const long      l5 = 65536;

int         base = 10;

void displaydefault( )

void displaywidth( int n )

void displaylongs( )

int main( int argc, char* argv )

對應的執行結果如下:

如果要指定小數位後面幾位顯示,可以有以下幾種方式:

1 - c語言

printf("%.2f\n", 3.1415926);

2 - c++語言

cout << fixed << setprecision(2) << 3.1415926 << endl;

cout << setprecision (2);

cout.setf(ios::fixed,ios::floatfield);

cout << 3.1415926 << endl;

順便在此奉上一張從網上down下的圖表,應該能讓你更清楚了

c++用double型計算後的結果如何除去小數位多餘的0

4樓:

c++預設是不輸出浮點數小數

點後多餘的0的。如果想要輸出小數點後多餘的0,則要在程式中用cout.setf(ios::

showpoint);語句設定,不再想輸出時要用cout.unsetf(ios::showpoint);語句恢復。

以下**供理解這個變化過程:

//#include "stdafx.h"//if the vc++6.0, with this line.

#include

using namespace std;

int main(void)

輸出是:

預設不輸出小數點後的0

5.75.7000005.7

5樓:注意樓下

cstring cc;

dounle m;

cc.format("%f",m);

cc.trimright("0");

cc.trimright(".");

6樓:匿名使用者

mfc的話就用cstring 格式化一下

double dw=1.123;

cstring str;

str.format("%.02f",dw);//意思是小數點留兩位,也就是str=1.12

純手打,望採納

7樓:叫撒名字啊啊啊

將float-> cstring,去掉小數點後多餘的0,如43.343000-> 43.343 20.000000-> 20

如果用strtemp.format( "%f ",fdata)這裡轉換有問題,會把123.12->123.1200325.123-> 25.122999

或者轉換成char陣列然後向前替換0.

8樓:匿名使用者

你可以在輸出格式中控制保留有效數的個數,如%.2f(保留小數點後兩位)

9樓:匿名使用者

同求,我現在也在學mfc,c++學得不太紮實。

c++源**,輸入一個double型別的數,使該數保留小數點後兩位,對第三位小數進行四捨五入運算,輸出

10樓:鏡面世界

double b = (int)((a * 1000 + 5) / 10) / 100.0; //a是原來的,b是要求的

11樓:燕歸來

#include

using namespace std;

int main()

{double data;

cin>>data;

data=(int)(data*100+0.5)/100.0;

cout<

(c++)double型的資料,如何保留小數點後四位?

12樓:匿名使用者

在計算時,可以使用floor函式+0.5來實現四捨五入。

例如:double a = 13.45656789;

double b;

b = floor(a * 10000.000f + 0.5) / 10000.000f; /*保留小數點後四位*/

在輸出時,直接使用printf格式輸出實現保留小數點後四位。

例如:double a = 13.45656789;

printf("%.4f",a);    /*保留小數點後四位*/

13樓:匿名使用者

四捨五入 保留四位小數

#include

double a = 13.45656789;

double b;

b = floor(a * 10000.000f + 0.5) / 10000.000f; /*保留小數點後四位*/

14樓:大海中的漂泊船

floor(value)+floor((value - floor(value)) * 10000+ 0.5) / 10000; 防止double資料太大,乘以10000後溢位;

15樓:御風__弄影

#include

cout<

這就行了

16樓:

a=((int)a*10000)/10000

17樓:匿名使用者

cout<

cout<

18樓:成紅微生英飆

#include

#include

void main()

19樓:我真是瞎填的

c++格式怎麼變成c格式了

C語言中輸出時怎樣控制小數點後的位數,請舉例說明保留4位小數等等,謝謝

舉例說明如下 1 float f1 3.1415926 2 float f2 1234.1415926 3 float f3 124.1 4 printf 3.4f f1 輸出結果為 3.1416 表示空格 5 printf 3.4f f2 輸出結果為 1234.1416 6 printf 3.4f...

求C語言指點,如何讓我的輸出為小數點後10多位我的輸出只有小數點後六位

printf e 10lf e printf e 20f e 輸出小數點後面的20位!c語言中輸出時怎樣控制小數點後的位數,請舉例說明保留1 2 3 4位小數等等,謝謝 舉例說明如下 1 float f1 3.1415926 2 float f2 1234.1415926 3 float f3 12...

c語言如何判斷小數的小數點後有幾位

這是c語言中的 右移運算子 一般情況下,他是按位操作。特點 1.雙目運算子,就像 一樣,格式為 數1 數2 2.數1是被運算元,如被減數 被除數等 數2是右移位數。3.優先順序低,結合性 從左向右運算 如 8 1 表示將被移數向右移動1位 如何操作?1.化十進位制數為 注意了 對應的二進位制數,對應...