c語言怎樣捨棄小數點後面指定位數以後的數

2021-03-11 10:56:42 字數 5885 閱讀 4138

1樓:素顏繁花落

note1:

正數 x 四舍五來

入的技巧:

x --> (int)(x+0.5)

當 x=n+r, 0<=r<1,

若源 0<=r<0.5, 則r+0.5<1, (int)(x+0.5)=(int)(n+r+0.5)=n

若 0.5<=r<1, 則1<= r+0.5, (int)(x+0.5)=(int)(n+r+0.5)=n+1

note2:

舉例bai來說: 若正數du要依捨去法精確到小數點後zhi第二位x --> (int)(x*100)/100 就好.

例如dao 3.2794 --> (int)(327.94)/100=327/100=3.27

note3:

舉例來說: 若正數要四捨五入精確到小數點後第二位x*100 四捨五入再除以100 就好

也就是 (int)(x*100+0.5)/100

2樓:凌淩

#include

int main()

加一個.就可以了。

3樓:顫傈

是否真的存在過。只是匆匆的來,匆匆的去,留下醉人的氣息,還有溫柔的念想,看著路面上留下的深深淺淺的腳印,突然有一種人去樓空的悲涼,它就像一副黑夜裡的油畫,妝點了歸人的風景。

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

4樓:會飛的小兔子

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()

5樓:匿名使用者

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

6樓:匿名使用者

你好!!bai

int main()

7樓:匿名使用者

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

#include

int main()

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

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

8樓:凌亂心扉

舉例說明如下:

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;

9樓:匿名使用者

我們在輸出語句上加如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):尾數部分

10樓:靠名真tm難起

%nf 即輸出的bai

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

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

11樓:陳昇富你好

#include

void main()

以此類推權

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

12樓:黃

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

float a=3.14159;

printf("%3f",a);

輸出的結果為:3.141

13樓:匿名使用者

一。%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時就右端補空格!

14樓:手機使用者

地址單元而定

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

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

void main(void)}

15樓:匿名使用者

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

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

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

c語言中怎麼取得小數點後面的數

16樓:金色潛鳥

float a = 3.1415926;

float d;

d = a - (int) a; // 用這個計算取得小數點後的數printf("%f %f\n",a, d );

17樓:草叢裡的落葉

printf("%.4f \n",a );//保留bai4位,.3f 保留3位....

如要du取他們的值:zhi(dao3.1415926*10)%10=1(十回分位)(3.1415926*100)%10=4(百答

分位).......

18樓:zyz鄭遠征

能否再詳細描述一下你的問題

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

19樓:

舉例說明如下:

#include

int main()

執行結果:

3.14

3.141593

3.141592645678957

20樓:匿名使用者

舉例說明如下:

#include

#include

using namespace std;

int main( void )

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

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

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

21樓:

#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語言浮點型小數點後為多少位

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

C語言中,為什麼(int)f結果為5,小數點後面不需要四舍五

c語言對浮點數f的強制轉換為int,是直接取整數數部分,不會四捨五入。如果要實現四捨五入的功能的語句應該是 int f 0.5 c語言中怎麼四捨五入 利用取整運算的截斷特點實現。比如 int a 0.75 取整後賦值給a的是0,小數點後面的被截斷了。如果要做整數的四捨五入,那麼可以 a int 0....

c 怎麼顯示小數點後面的有效數字

有三種情況 c 預設輸出的為有效數字 1.輸出時最多保留3位有效數字 include include 必須包含的標頭檔案 using namespace std int main 結果 3.10 2.輸出時保留小數點後3位 include include 必須包含的標頭檔案 using namesp...