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...