1樓:
#include
double atof( const char *str );
功能:將字串str轉換成一個雙精度數值並返回結果。 引數str 必須以有效數字開頭,但是允許以「e」或「e」除外的任意非數字字元結尾。例如:
x = atof( "42.0is_the_answer" );
x的值為42.0.
#include
int atoi( const char *str );
功能:將字串str轉換成一個整數並返回結果。引數str 以數字開頭,當函式從str 中讀到非數字字元則結束轉換並將結果返回。例如,
i = atoi( "512.035" );
i 的值為 512.
2樓:匿名使用者
嫌麻煩就用 atoi,不然就自己編
比如:char a[5]="54321";
char a0=a[0];
int p=a0-'0';
p就等於5了,其餘類似,組在一起可以用 pow,不嫌麻煩自己編個m的n次方函式
3樓:滄海雄風
#include
#include
#include //only she can resolve this problem
int main(void)
a = 886677774000000000a = 886677774000000000
4樓:
大數的形式轉換,需要自己實現一個擴充套件方式。
前兩天剛幫另外一個人實現了一個100位以內十進位制數字符轉16進位制的實現:
#include
#include
#include
#define isdigit(c) ('0' <= (c) && (c) <= '9')
#define max_digi_num 100int _div_16(char *big_num, int *p_size)
num_size = *p_size;
if(num_size == 0 || num_size == 1)quo = malloc(num_size);
memset(quo,0,num_size);
while(num_size>0)
memcpy(big_num,quo,quo_size);
*p_size=quo_size;
free(quo);
return rem;
}int main()
;char num[max_digi_num+1] = ;
char hex[max_digi_num+1] = ;
int i,num_size,result;
printf("input dec num:");
scanf("%s",input);
memcpy(num,input,max_digi_num);
i = num_size = strlen(num);
if(i >= max_digi_num)while(i--)
num[i] = atoi(&num[i]);
while(num_size)
printf("hex num is 0x%s\n",tmp);}
5樓:
char d[5]=;
int i=0;
i = atoi(d);//再將字串轉成整形printf("%d\n", i);
輸出結果為12345
c語言怎麼能把字串轉化成浮點型資料?
6樓:加百列
使用atof函式
copy。bai
一、描述:
c 庫函式 double atof(const char *str) 把引數 str 所指向的字串轉換為一個浮
du點數(型別為 double 型)。zhi二、atof() 函式的宣告dao:
double atof(const char *str)。
三、引數:
str -- 要轉換為浮點數的字串。
四、返回值:
函式返回轉換後的雙精度浮點數,如果沒有執行有效的轉換,則返回零(0.0)。
例項演示**:
編譯執行效果如下:
7樓:匿名使用者
可以使用庫函bai數atof。
1 函式名
du atof
2 宣告
double atof(const char *nptr);
3 標頭檔案
#include
4 功能
zhi將引數nptr中的字串轉dao
為浮點型內資料並返回。容
5 需要注意的是,必須是合法的字串,即以實數形式或者科學計數法形式儲存的字串才可以進行轉換,否則轉換會出錯。 比如"sjdhk"這樣的字串是無法轉換為浮點數的。而如果是"1.
23sdf"這樣的形式,只會處理到最後一個數字,結果為1.23。
5 示例**
#include
int main()
輸出結果
c=-98.23
與期望結果相同。
8樓:匿名使用者
有的有此類的系統函式,加上標頭檔案#include ,使用atof()函式就行了
c語言浮點型轉換為整型怎麼轉換的?
9樓:匿名使用者
第一種是bai利用系統預設的轉換,du即將小數部分zhi截去dao,僅保留整數部分回,如3.6轉換答為3,-5.68轉換為5。
第二種是強制型別轉換,效果與第一種相同,如(int)(-6.666)為-6。
如有其他特殊要求,則需要程式設計解決。
10樓:匿名使用者
c語言中沒有四捨五入,將浮點型轉換成整形時,只保留小數點前面的數值
11樓:匿名使用者
float ftemp;
不要後面bai
的=0;因為一旦你分配du給ftemp了值,它zhi是無法通過dao鍵盤寫入的方式賦給
回的,因為空答間已經被佔用。這不是a=b+c這樣表示式的賦值。
暈,難道要我把源**給你你直接複製?
那就給你吧!
#include
void main()
隨便輸入一個數,然後回車,看結果
12樓:程式猿3號
c語言復有以下幾種取整方法:
1、直接制賦值給整bai
數變數。如:
int i = 2.5; 或 i = (int) 2.5;
這種du方法採用的zhi是捨去小數部分,能dao用於你的問題。
2、c/c++中的整數除法運算子「/」本身就有取整功能(int / int),而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,能用於你的問題。不過整數除法對負數的取整結果和使用的c編譯器有關。
3、使用floor函式。floor(x)返回的是小於或等於x的最大整數。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函式。ceil(x)返回的是大於x的最小整數。如:
ceil(2.5) = 3
ceil(-2.5) = -2
floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。floor函式能用於你的問題。
5、int b = (int)a;//取整int c = (int)(a+0.5);//四捨五入
c語言中如何把浮點型轉換為字元型
13樓:匿名使用者
一、抄c語言中數值型資料分為兩大類bai:整型和浮
點型du
整型:char int short long
浮點型:float(單精zhi度dao) double(雙精度)
二、浮點型資料轉存到字串中
char str[30]; //定義一個字元陣列,來儲存資料
double d=123.456; //定義一個浮點型變數d
sprintf(str,"%f", d ); //格式串同printf()格式要求
sprintf(str,"%.2f", d ); //保留兩位小數,第三位四捨五入
三、整型資料轉存到字串中
char str[30];
int i=123;
sprintf(str, "%d", i );
四、0-9之間的資料轉為字元
c語言中,字元型資料在儲存時,實際上儲存的是字元的ascii值,字元'0'到'9'對應的ascii是連續的,其值為48-57,所以,0-9數值轉為字元時,只需要加上'0'就可以了,如:
char ch;
int i;
i=1;
ch=i+'0' ;
按%c輸出,就是字元1,按%d輸出就是ascii值49
14樓:匿名使用者
浮點型轉換為字元抄型一般需要計算襲的,比bai如現在浮點型是414.15f
轉換du為字元型,zhi那麼就需要將這串資料dao轉換為ascii碼,單個數字單個數字轉換:
定義一個緩衝區:char buffer[6]用於存放這幾個數字;
接著:將浮點型放大,轉換為整型:(int)(414.15 * 100) = 41415d
逐個取值:
for(i=0;i<6;i++)
15樓:匿名使用者
和前bai面那個人
du說的
zhi一樣dao,**
內如下容:
#include
int main(void)
16樓:匿名使用者
sprintf(c,"%d",a);
c 如何將帶小數點的字串轉換為整型
intx int 一樓的方法一樣可行。補充說明 如果想要四捨五入的結果,這樣還不夠,我給的這個例子結果會是12.遵循四捨五入原則 string test1 string test2 int int1 int int2 在c 中,要將一個字串或浮點數轉換為整數,基本上有三種方法 1 使用強制型別轉換 ...
c語言中關於字串轉整型,C語言中關於字串轉整型
字串轉成整型可以使用atoi函式。函式原型 int atoi const char nptr 功能 把字串轉換成整型數。引數nptr字串,如果第一個非空格字元存在,是數字或者正負號則開始做型別轉換,之後檢測到非數字 包括結束符 0 字元時停止轉換,返回整型數。否則,返回零。include inclu...
c怎麼把byte陣列轉換為字串
實現位元組陣列至十六進位制字串轉換,這個操作在接收網路資料時非常有用,嘛,就一行,就一行,就一行 string str bitconverter.tostring bytes 司馬刀劍 有兩張方法 方法一 字串轉byte string stringmessage how are you?consol...