c中如何使輸出的值小數點後最末位0捨去

2021-03-04 09:14:37 字數 3493 閱讀 6860

1樓:匿名使用者

如果你僅僅是要最後一個0去掉,很麻煩。不是的話,就用g格式。

g格式:自動選f格式或e格式中較短的一種輸出,且不輸出無意義的零。

printf("%g\n",a);

僅僅要去掉最後一個0,方法樓上有**了。麻煩 - -

2樓:匿名使用者

#include

int main()

3樓:我有赤兔

float f=3.141592653,x;

x=f%1;// x就是小數點後面的東東

char a=(char)f; /把浮點數轉成字串int i=2;/從a[2]開始才是小數的第一位char b=a[i];

while(b!='0')// 每個字元逐個檢查,直到發現0printf("%.(i-2)",f);//之所以-2是因為字串的第一個字元是 0 第二個字元是 。

這個辦法真的很麻煩,可是你的要求也夠麻煩的。。。。

4樓:匿名使用者

float f = 3.123456

printf("%.1",f);

結果為3.1

printf("%.5",f);

結果為3.12346

c語言,將double資料輸出時,如何去掉小數位多餘的0?

5樓:匿名使用者

printf("%g\n", a ); //這樣試一下,是不是你想要的

6樓:匿名使用者

double a = 1.001;

printf("%lf",a);//會輸出1.001000,怎樣才能輸出1.001

通過在%與lf之間加上.d(此處的d為十進位制正整數)來控制輸出小數的位數,以此來控制輸出資料的精度,

比如:%.3lf表示輸出的資料有3位小數

%.5lf表示輸出的資料有5位小數

%lf預設輸出6位小數 ,所以本來a=1.001,結果輸出1.001000

7樓:不能說的_祕密

可以用%2.3lf,點3代表著小數為保留3位,前面的2可以隨便。

8樓:於是我呵呵

printf("%.3lf", a);

用c語言浮點輸出時,如何讓小數點後沒用的0不顯示。

9樓:匿名使用者

用%g格式符就可以了

例如:float f=3.14;printf("%g",f);

10樓:匿名使用者

printf("%.0lf", 2.344); //輸出為2 double型別

printf("%.0f", 2.344); //同上. float型別

c語言中輸出時怎樣控制小數點後的位數,請舉例說明保

11樓:

舉例說明如下:

#include

int main()

執行結果:

3.14

3.141593

3.141592645678957

12樓:匿名使用者

舉例說明如下:

#include

#include

using namespace std;

int main( void )

c語言之所以命名為c,是因為 c語言源自ken thompson發明的b語言,而 b語言則源自bcpl語言。

c語言是一種計算機程式設計語言,它既具有高階語言的特點,又具有組合語言的特點。它由美國貝爾研究所的d.m.

ritchie於2023年推出,2023年後,c語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。它的應用範圍廣泛,具備很強的資料處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到c語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如微控制器以及嵌入式系統開發。

13樓:

#include

int main(void)

執行結果:

12.000000

12.0

12.00

12.000

12.0000

12.00000

12.000000

12.0000000

12.00000000

12.000000000

12.0000000000

12.00000000000

12.000000000000

printf("%f\n", i);在普通輸出控制格式字元的%和f中間加「.#」(其中#為小數點位數)

c語言精確小數位數會怎樣捨去後面的小數

14樓:會飛的小兔子

1、正數

baix四捨五入的技du巧:

doublex;

x=(int)(x+0.5);

2、舉例zhi:若正數要依捨去法精

dao確到小數點後第二回位;

例如6.2367–>(int)(623.67)/100.0=623/100.0=6.23

doublex;

x=(int)(x*100)/100.0;//注意是答除以100.0;

3、舉例:若正數要四捨五入精確到小數點後第二位,即x*100四捨五入再除以100;

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

擴充套件資料c語言保留小數點後一位

例:#include

voidmain()

15樓:匿名使用者

c語言用%m.nf輸出浮copy點數時,會從n+1位小

bai數位進行四捨五入。

如:du

printf("%5.2f\n", 3.567 ); //輸出 3.57,前面有zhi一個空格,dao補齊五個字元寬度。

但,由於浮點數是不精確的資料,與實際準確數是有誤差的,四捨五入也會出現差異,如:

float f=3.155;

printf("%f\n", f ); //預設小數位6位,第七位四捨五入:3.155000

printf("%.10f\n", f ); //輸出:3.1549999714

//參考以上**說明,理解以下輸出

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

printf("%.3f\n", f ); //3.155

16樓:匿名使用者

你好!!bai

int main()

17樓:匿名使用者

//可以用以下**進行測試:

#include

int main()

結果表明:到預設精度處回會進行四捨五入答

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

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

EXCEL中如何設定小數點後保留兩位,小數點後第3位是5(含5)以下的數字不進位,是6(含6)以上才進位

選中你要設定的單元格 右擊 設定單元格格式 數值 保留兩位小數哪兒改為2即可 設定小數位數,遵循 四捨五入 原則。你說的情況,行不通!的方法 if right int a1 1000 5,round a1,2 rounddown a1,2 另外 if value mid h16,find h16 3...

MYSQL中如何讓欄位結果精確到小數點後兩位數字

可以在建來 表的時候限定自小數點的長度,例如decimal 5,2 後面的2就是2位的意思。如果表已經建好,可以在查詢語句中用函式 round x,2 轉換,x為欄位,後面的數字為長度,你要幾位就填幾。sql做查詢的時候,怎麼把decimal型別的資料保留兩位小數 sql查詢抄把decimal型別資...