c語言 float型資料輸入需要注意什麼嗎

時間 2021-12-25 02:08:56

1樓:匿名使用者

#include

void main()

double func(float x,float y)

2樓:崎下山護

如果用float最好不要用double返回

c語言可不可以判斷float型別中是否輸入了字元型別的資料!

3樓:口袋吧綠寶石

應該不可已

當字元型別的資料給float型別的變數賦值時會自動將char型資料轉換成float型別

在賦值後 float型別變數的大小就是char型別的字元的asscl碼值

c語言中給float型變數賦值時需要在數值後加f嗎

4樓:匿名使用者

不加是double型別,double可以隱式轉換成float,所以可以不加,但是編譯器可能給你一個警告。

5樓:gosunny小情緒

float型別的字面常量,後面需要加上f或者f來表示是一個單精度浮點數。只所以專要這樣寫,是屬因為預設的浮點數常量都是double型別。

#include

int main()

c語言 如何確定輸入的float型的小數點位數

6樓:匿名使用者

確定輸入的float型的小數點位數,可以通過sprintf函式實現數字轉字串,處理字串,判斷小數版點“.”後的位權數實現,但由於系統中float存在7位有效數字(含小數點,即小數點後有6位小數),使得系統或者補0,或者截斷,導致統計與實際輸入數字的位數不符。

//主要**

char buffer[40];

float fnum=12.38;

sprintf(buffer,"%f",fnum);//獲得字串int i=0,num=0;

for(;*(buffer+i)!='\0';i++)float 為單精度浮點型資料,在turboc中單精度型佔4個位元組(32位)記憶體空間,其數值範圍為3.4e-38~3.

4e+38,只能提供七位有效數字。建議輸入採用字串形式,這樣統計不會出偏差,使用數字時,使用double atof( const char *str )函式轉換。

7樓:

輸入後,bai十進位制數變2進位制。十進位制小

du數zhi 化 2進位制小數 常常 化不盡,所dao以用 大於小於回來判斷float型是否正好答大於小於某數值是困難的。

簡單辦法是用字串方法讀入,直接判斷字串。

float i;

char str[32];

int j,l;

scanf("%s",str);

sscanf(str,"%f",&i);

l = strlen(str);

然後查詢小數點,for (j=0;j

然後從最小的一位 str[l-1] 起迴圈,找到第一個不是 0 的位置。 if (str[k] !='0')

算出位數。

8樓:匿名使用者

樓上說的很對,要是你明白小數的二進位制儲存方式,你就知道了,只是近似儲存,除非是0.5,0.25,0.75等這些2的n次方分之幾的數是精確儲存為,其他的都是近似儲存的

要想精確儲存,只能用字串

c中int向float型轉換

春天的離開 c 中int向float型轉換 1 用convert方法。convert.toint32 string 括號裡的是需要轉換的字串。2 int32.parse string 和int.parse string 3 int32.tryparse string,out int result 或...

C語言中DOUBLE型資料儲存結果

釋夕楊歌 十進位制實數轉化為二進位制,往往不能用有限的位元數精確表示。double型規定了用幾位元作指數,幾位元代表精度 即有效數字 這對十進位制實數的儲存精度進一步加了限制。 朱禮祭君 老譚的書上有 實型資料一般佔4個位元組 32位 記憶體空間。按指數形式儲存。實數3.14159在記憶體中的存放形...

關於c語言浮點數問題,c語言關於浮點型資料範圍的問題

標準c語言支援的浮點數符合ieee格式,是二進位制浮點數,並不是一個位元組存放一個十進位制小數位的。關於ieee浮點數,可以參考這裡 至於這裡的輸出問題,如ls所說,是printf預設輸出問題。如果使用 f和 lf格式控制符輸出浮點數,預設輸出保留6位十進位制小數,自動四捨五入。用 nf可以控制輸出...