c語言中小數點前後面的零怎麼控制輸出比如,

2021-03-07 09:46:43 字數 4370 閱讀 2575

1樓:

樓主 要的 這個結果?執行下 看看

#include

main()}}

printf("%s\n", str+i);}}

2樓:滄海雄風

你第一個是0.001- 是嗎 變為 .001第二個是200.00變為200

第三個是200.1 不變?

你到底是什麼規律? 每次規律都不一樣嗎?

你至少該給個規則吧

比如 第一個 需要小數點後的三位 小數點前的不要第二個 只要小數點前的

第三個 不變

思路就是很簡單的 轉換成字串 根據需求 擷取小數點前後指定的位數

你如果能把你的規則說清楚 我可以給你寫出來

3樓:匿名使用者

#include

#include

int main()

return 0;

}前面沒有0的我做不到

4樓:匿名使用者

自己寫一個函式,根據數字的小數位數來輸出

5樓:注意樓下

cstring a;

double m;

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

if(m!=0)

trimright("0");的意思可以理解為從右開始刪除把文字(cstring)中0,當trimright沒有遇到0時結束,但是當你寫成trimright(".0");時,你會發現一樣能達到取整數的目的,那是因為那時trimright從右開始刪除把文字(cstring)中"0"或者".",當trimright沒有遇到"0"和".

"時結束,但這樣會讓你沒有辦法輸出10的倍數,因為"0"和"."是並列的,當你輸出10的倍數時,trimright會先刪除"."然後刪除"0",所以你得不到10的倍數

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

6樓:匿名使用者

用%g格式符就可以了

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

7樓:匿名使用者

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

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

大一c語言求解 如果答案 不想要小數點後面有那多零,只想有兩個零,怎麼改

8樓:匿名使用者

輸出格式 使用

%.2f

%f可以使用%a.bf的格式

其中b是小數位數 a是總的佔用長度

對於你的需求 用%.2f是可以實現的

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

9樓:凌亂心扉

舉例說明如下:

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",f3);//輸出結果為:124.1000

printf("%3.4f",f);中的3是控制f的整數部分按3位的固定位寬輸出;4是按四捨五入的準則保留4位小數。

注:如果整數部分不足3位,則在前面補空格,超過3位,則按實際位數輸出;如果小數部分不足4,則在後面補0。

浮點型別

如果儲存比精度更重要,請考慮對浮點變數使用float型別。相反,如果精度是最重要的條件,則使用double型別。

浮點變數可以提升為更大基數的型別(從float型別到double型別)。當您對浮點變數執行算術時,通常會出現提升。此算術始終以與具有最高精度的變數一樣高的精度執行。

例如,請考慮下列型別宣告:

float f_short;double f_long;long double f_longer;f_short=f_short*f_long;

在前面的示例中,變數f_short提升到型別double並且與f_long相乘;然後,結果舍入到型別float,然後賦給f_short。

在以下示例中(使用前面示例中的宣告),將以浮點(32位)精度對變數執行算術;結果隨後將提升到double型別:

f_longer=f_short*f_short;

double f_long;

long double f_longer;

f_short=f_short*f_long;

在前面的示例中,變數f_short提升到型別double並且與f_long相乘;然後,結果舍入到型別float,然後賦給f_short。

在以下示例中(使用前面示例中的宣告),將以浮點(32位)精度對變數執行算術;結果隨後將提升到double型別:

f_longer=f_short*f_short;

10樓:匿名使用者

我們在輸出語句上加如0.就行了,比如printf("%0.2f",a); 就是保留2位.

上**#include

int main()

再上結果圖:

擴充套件資容料:小數在計算機中的儲存:

對於浮點型別的資料採用單精度型別(float)和雙精度型別(double)來儲存,float資料佔用 32bit,double資料佔用 64bit.其實不論是float型別還是double型別,在計算機記憶體中的儲存方式都是遵從ieee的規範的,float 遵從的是ieee r32.24 ,而double 遵從的是r64.

53。無論是單精度還是雙精度,在記憶體儲存中都分為3個部分:

1) 符號位(sign):0代表正,1代表為負;

2) 指數位(exponent):用於儲存科學計數法中的指數資料,並且採用移位儲存;

3) 尾數部分(mantissa):尾數部分

11樓:靠名真tm難起

%nf 即輸出的bai

數字佔dun位 當原數字位數zhi大dao

於n時原樣輸出,原數字位數小於回n時輸出數字左端補上空答格,比如原數字為a=1.23456;n為4時輸出為1.23456,n為9時輸出為(空格空格1.23456)

12樓:陳昇富你好

#include

void main()

以此類推權

你說的n指輸出的資料共佔n列

13樓:黃

n是你需要保留的多少位小數的位數,a為變數。比如:

float a=3.14159;

printf("%3f",a);

輸出的結果為:3.141

14樓:匿名使用者

一。%nf 即輸出的數

自字佔n位 當原數字位數大於n時原樣輸出,原數字位數小於n時輸出數字左端補上空格,比如原數字為a=1.23456;n為4時輸出為1.23456,n為9時輸出為

(空格空格1.23456)

二。%n.mf 即輸出總共佔n位其中有m位小數 如a=1.23456 用%4.2f輸出為1.23如果用

%5,1f輸出為123.4即長度為5小數為1!這裡也有當原數字長度小於n時左端補空格這個規則!

還有就是當n前面有個負號時即%-nf或%-n.mf時就右端補空格!

15樓:手機使用者

地址單元而定

#define uchar unsigned char#define uint unsigned intuchar xdata xram _at_ 0xff00[4];//指定外部儲存地址

uchar data1[4]; //你先把你的四位數每位單獨分離出回來存到這個4成員陣列答

void main(void)}

16樓:匿名使用者

保留1位小數 printf("%.1f",a);

保留2位小數 printf("%.2f",a);

保留3位小數 printf("%.3f",a);...

c語言中如何讓使用者輸入一個數(只限定0.***x不限制小數點後面的位數),輸出成***xx(輸出限

17樓:匿名使用者

#include

void main()

可以通過printf函式輸出,並控制格式字元。

要輸出float變數f,並只輸出四位小數,可以寫作printf("%.4f", f);

當格式設定為%.nf時,n為非負整數,表示輸出的時候保留n為小數。

單精度小數點後面有幾位,C語言浮點型小數點後為多少位

不一定的。單精度浮點數,浮點浮點,意思就是小數點會浮動的。單精度浮點數的實際有效精度為24位二進位制,這相當於 24 log102 7.2 位10進位制的精度,所以平時我們說 單精度浮點數具有7位精度 精度的理解 當從1.000.02變化為1.000.12時,變動範圍為2 23,考慮到因為四捨五入而...

小數點後面的零去掉,小數的大小不變,請說出為什麼錯對

不對,小數點後面的 可能是精確到十分位時,百分位上的數字比5小,四捨五入的結果。而本來就是整數的那個數沒有這個處理。比如11.0是11.03精確到十分位,11就是11。是不一樣的。小數點後面的零去掉,小數的大小不變,請說出為什麼錯對?錯誤。應該是 小數的末的零去掉,小數的大小不變。例如 3.50 3...

小數點後面的零不可以去掉。對還是錯

如果說了有效位數,必須得用零來補,否則 不用 能否bai去掉得看題意 如果題目du要zhi求要精確到小數點後第幾dao位或保留幾位有內效數字,則容後面的零不能隨便去掉。例如 一 要求對以下數保留4位有效數字 1 1.342667 2 1.3 3 0.00346743答案 1 1.343 2 1.30...