當前位置:首頁 » 編程語言 » c語言精確到小數點後c位怎麼搞
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言精確到小數點後c位怎麼搞

發布時間: 2022-08-21 03:11:23

㈠ 如何用c語言計算小數點後位數(float本身都無法精確)

float以10進制只有7個有效數字,如果你存的數大於7位那麼一定會不準確,小於7位的就准確,其實float只有前7位有意義,有時會只有6位有意義。。。 也就是說你只用用7-整數位數就行,如果整數位為0,那麼你只需要7+第一個不是0的小數所在位置即可,即此時小樹位數是大於7的,但有效數字個數仍然是7。。。。

㈡ 在c語言中如何指定精確到小數點後任意位數

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:
舉例來說: 若正數要依捨去法精確到小數點後第二位
x --> (int)(x*100)/100 就好.
例如 3.2794 --> (int)(327.94)/100=327/100=3.27

Note3:
舉例來說: 若正數要四捨五入精確到小數點後第二位
x*100 四捨五入再除以100 就好
也就是 (int)(x*100+0.5)/100

㈢ 如何用c語言計算小數點後位數

這個要看小數按什麼格式輸入。

如果按%s輸入,也就是按字元串格式輸入,先找到小數點的位置,然後統計下小數點後數字的長度。

具體實現可參考:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

intmain(intargc,char*argv[])
{
chara[128];
while(scanf("%s",a)!=EOF)
{
if(strstr(a,".")!=NULL)
printf("%d ",strlen(strstr(a,".")+1));
else
printf("0 ");
}
system("pause");
return0;
}

這是最後一個已經出現錯誤,所以遇到要精確判斷小數點的位數,最好直接按字元串讀入,這和圖靈機的工作原理暗暗相合。

㈣ C語言怎麼精確浮點型變數到小數點後一位,例如0.1+0.1,它就顯示0.200000003,我後期還會用這個數作計算

float無法精確表示0.2,可以考慮用整型數據保存2,當成0.2來使用,比如計算0.1+0.1可以計算1+1=2,這個2就是0.2

在計算機程序設計中,浮點數是不能指望精確存儲或計算的,一定有誤差,可以考慮控制誤差的辦法解決這個問題。

㈤ c語言題目:輸入正整數a,b,c,輸出a/b的小數形式,精確到小數點後c位。例如a=1,b=6,c=4時應輸出0.1667

你沒有必要那樣做的,直接這樣就可以了。如。
c=8;
double pp=a/b;
if ( (pp*1000000000%10) > 4)//判斷小數點後第9位是否大於4,大於4就要進位
pp+=0.00000001;
printf("結果是%0.8f",pp); //輸出結果,自動只輸出到小數點後8位。

㈥ 在C語言中,要想將一個數精確到小數點後幾位,應該怎樣做。

如果是輸出的話,可以用:
printf("%.4f",3.1415926);

㈦ c語言如何精確小數點後指定位數

可以在輸出時,指定小數點後的有效位數,實現精確到若干位的效果。
要精確到小數點後若干位,則數據類型為浮點型,可能為單精度(float)或雙精度(double)。
在C語言中,使用格式化輸出函數printf來實現輸出。
輸出格式為
%.NF
1 %為格式化字元串的引導字元。
2 .N表示指定顯示N位小數。
3 F為類型字元,對於float, F值為f, 對於double,F值為lf。

舉例:
1 要輸出float a=1.23234; 保留3位小數的寫法為:
printf("%.3f",a);
2 輸出double b=123.345232; 保留4為小數,寫法為:
printf("%.4lf",b);