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

2021-04-22 02:19:48 字數 5964 閱讀 7389

1樓:會飛的小兔子

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

2樓:匿名使用者

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

3樓:匿名使用者

你好!!bai

int main()

4樓:匿名使用者

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

#include

int main()

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

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

5樓:素顏繁花落

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

6樓:凌淩

#include

int main()

加一個.就可以了。

7樓:顫傈

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

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樓:

舉例說明如下:

#include

int main()

執行結果:

3.14

3.141593

3.141592645678957

17樓:匿名使用者

舉例說明如下:

#include

#include

using namespace std;

int main( void )

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

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

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

18樓:

#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語言中如何保留一位小數點

19樓:雙魚貝貝

採納率:52%12級2015.05.17

可以通過printf函式中的輸出格式說明符來實現保留一位小數點。回

具體實現方法見答下例:

float a = 3.14159;

printf("%.1f", a);  // 輸出結果為3.1

更一般的形式如下:

printf("%x.yf", a); // 其中x, y都是常量,a是待輸出的變數。

// 對於變數a的整數部分輸出,如果a的整數部分不足x位,則在前面補空格,若大於x位,則按實際位數輸出

// 對於變數a的小數部分輸出,如果a的小數部分不足x位,則在後面補0,若大於x位,則按四捨五入準則輸出y位小數

一鍵還原類軟體的備份檔案。使用ghost explorer軟體開啟,可以檢視該檔案的內容。此檔案不可刪除!刪除了以後就無法恢復系統了。

我發現積的小數位數與乘數的小數位數的關係是

積的小數位數等於兩個因數小數位數之積 如3.213 0.2345 積的小數位數就為3 4 7位 積的小數位數等於各個乘數的小數位數之和。積的小數位數等於各個乘數的小數位數之和。積的小數位數等於各個乘數的小數位數之和。小數乘整數時,積的小數位數和因數中的小數位數有什麼關係 關係是 因數的小 抄數位數之...

小數乘整數時,積的小數位數和因數中的小數位數有什麼關係

關係是 因數的小 抄數位數之和bai等於積的小數位數du。舉例 1 小數 zhi整數 0.8 2 因數0.8的小數位數為dao1位,因數2為整數,無小數位數。因此兩個因數的小數位數之和 1 0 1 所以積的小數位數應該為1位。積應為1.6。2 小數 小數 0.4 0.3 因數0.4的小數位數為1位,...

數的小數位數越多,這個數就越大判斷對錯

由分析可知 一個數的小數位數越多,這個數就越大,說法錯誤 故答案為 一個數所佔的位數越多,這個數就越大.判斷對錯 在整數範圍內,一個數所佔的位數越多,這個數就越大,正確 在小數範圍內,一個數所佔的位數越多,這個數就越大,錯誤 故答案為 錯誤 一個小數的小數部分位數越多就越大.判斷對錯 由以上分析,知...