c語言字元串浮點
『壹』 c語言中有沒有把字元轉型化為 浮點型的函數
C語言中將字元串轉型化為浮點型數據的函數有:atof()
和
strtod()
頭文件:
#include <stdlib.h>
函數原型:
double atof (const char* str);
【參數說明】str 為要轉換的字元串。
【函數說明】atof() 函數會掃描參數str字元串,跳過前面的空白字元(例如空格,tab縮進等,可以通過 isspace() 函數來檢測),直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字元串結束時('\0')才結束轉換,並將結果返回。參數str 字元串可包含正負號、小數點或E(e)來表示指數部分,如123. 456 或123e-2。
【返回值】返回轉換後的浮點數;如果字元串 str 不能被轉換為 double,那麼返回 0.0。
double strtod (const char* str, char** endptr);
【參數說明】str 為要轉換的字山纖符串,endstr 為第一逗團仿個不能轉換的字元的指針。
【函數說明】strtod() 函數或咐會掃描參數str字元串,跳過前面的空白字元(例如空格,tab縮進等,可以通過 isspace() 函數來檢測),直到遇上數字或正負符號才開始做轉換,到出現非數字或字元串結束時('\0')才結束轉換,並將結果返回。參數 str 字元串可包含正負號、小數點或E(e)來表示指數部分。如123. 456 或123e-2。
若endptr 不為NULL,則會將遇到的不符合條件而終止的字元指針由 endptr 傳回;若 endptr 為 NULL,則表示該參數無效,或不使用該參數。
【返回值】返回轉換後的浮點型數;若不能轉換或字元串為空,則返回 0.0。
使用 atof( str ) 與使用 strtod(str, NULL) 結果相同。
一般應用方法為:
char str[]="123.45";
double d=atof(str);
printf("%.2lf", d ); //輸出123.45
『貳』 C語言如何輸出雙精度浮點型數據
1.雙精度浮點型數據用%lf輸出。因為double是8個位元組的,float是4個位元組的,%f 的格式就是4個位元組的,而 %lf 就是8個位元組的。 例如:printf("%lf ",x);
2.short 佔用內存空間2個位元組,短整型數據用%d輸出 例如:printf("%d ",a);
例:
#include <stdio.h>
int main()
{double x;
short int a;
printf("%lf",x); // 輸入double型
printf("%d",a); //輸入短整型
return 0;
}
(2)c語言字元串浮點擴展閱讀:
C語言特有特點
1.C語言是一個有結構化程序設計、具有變數作用域(variable scope)以及遞歸功能的過程式語言。
2.C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
3.不同的變數類型可以用結構體(struct)組合在一起。
4.只有32個保留字(reserved keywords),使變數、函數命名有更多彈性。
5.部份的變數類型可以轉換,例如整型和字元型變數。
6.通過指針(pointer),C語言可以容易的對存儲器進行低級控制。
7.預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
『叄』 C語言中整型,字元型,浮點型,和雙精度浮點型,詳解
整型,計算機中的一個基本的專業術語,指沒有小數部分的數據。整型可以用十進制,十六進制或八進制符號指定,前面可以加上可選的符號(- 或者 +)。包括整型常量和整型變數,整型變數又包括短整型、基本整型、長整型,它們都分為有符號和無符號兩種版本,是一種智能的計算方式。
字元型量包括字元常量和字元變數。字元串常量由一對雙引號括起的字元序列。字元變數的取值是字元常量,即單個字元。字元變數的類型說明符是char。字元變數類型說明的格式和書寫規則都與整型變數相同。
浮點型利用指數使小數點的位置可以根據需要而上下浮動,從而可以靈活地表達更大脊租做范圍的實數。
雙精度浮點型,此數據類型與單精度數據類型(float)相似,但精確度比float高,編譯時所佔的內存空間依不同的編譯器而有所不同,是double float數據類型,C/C++中表示實型變數的一種變數類型。
(3)c語言字元串浮點擴展閱讀型高
雙精度浮點型類型數值可轉換到其他類型的整數或浮點數,反之亦然。雙精度浮點型常量的最後一個字元可加上「d」或「D」。其存儲格式與浮點型類似,最高位為符號位,次高11位為指數位,其次52位為尾數。
雙精度型就是雙精度浮點型,同數值型比,它能提供更高的數值精度,採用固定存儲長度的浮點數形式,每個雙精度浮點型數據佔8個位元組。與數值型數據不同,它的小數點位置是由輸入的數據值來決定的,並且只能用於表中的欄位。
『肆』 c語言中如何完整的判斷輸入的字元串是浮點數(代碼)
如果字元串已放在 char 數組 str[] 里,例如
char str[]="123.34.34";
double d;
if ( sscanf(str,"%lf",&d) != 1 ) printf("wrong floating data\n");