1樓:風若遠去何人留
對於int型,可以呼叫函式itoa。
char*itoa(int value,char*string,int radix);
功能為將任意型別的數字轉換為字串。
int value 被轉換的整數,char *string 轉換後儲存的字元陣列,int radix 轉換進位制數,如2,8,10,16 進位制等。
float和double型別沒有特定的轉換函式。
不過不論是float, double還是int,都可以通過sprintf函式進行轉換。
sprintf類似於printf,都是按照格式化字串輸出引數到目標。不過printf是輸出到終端,而sprintf是輸出到第一個引數的字串中。
定義int i;
float f;
double d;
再定義字串空間
char buf[100];
呼叫sprintf(buf, "%d",i);
sprintf(buf, "%f",f);
sprintf(buf, "%lf",d);
就可以分別把int, float, double轉換成值對應的字串。
2樓:匿名使用者
itoa能把整數轉換為字串,但它不是c語言標準庫函式。
其實這麼簡單的問題,自己寫一個啦。
把int 的 1234 用取模逐位地取出來,跟 0~9 比較,再轉化為字元。
效率肯定比itoa低,但好歹能鍛鍊自己的實現能力。
3樓:
#include
#include
int main(void)
atoi: 把字串轉換成整型數
itoa:把整數轉換為字串
c語言怎麼能把字串轉化成浮點型資料?
4樓:加百列
使用atof函式
copy。bai
一、描述:
c 庫函式 double atof(const char *str) 把引數 str 所指向的字串轉換為一個浮
du點數(型別為 double 型)。zhi二、atof() 函式的宣告dao:
double atof(const char *str)。
三、引數:
str -- 要轉換為浮點數的字串。
四、返回值:
函式返回轉換後的雙精度浮點數,如果沒有執行有效的轉換,則返回零(0.0)。
例項演示**:
編譯執行效果如下:
5樓:匿名使用者
可以使用庫函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
與期望結果相同。
6樓:匿名使用者
有的有此類的系統函式,加上標頭檔案#include ,使用atof()函式就行了
c語言中如何將short,int,long,float這些型別的數值轉換為字串?
7樓:匿名使用者
可以使用sprintf函式轉換。
1、對於整型,各個平臺有一些函式可以專門轉換,比如itoa等。
不過更通用的做法是使用sprintf函式。
2、宣告:
int sprintf(char *dst, const char *format_string, ...);
標頭檔案為stdio.h。
3、功能:
sprintf是一個不定引數函式,根據format_string中提供的格式符,將後續引數轉為字串儲存在第一個引數dst中。
4、使用示例:
short a=1;
int b=2;
long c=3;
float d=4;
char buf[100];
sprintf(buf, "%hd %d %ld %f",a,b,c,d);//按照格式,將四個變數儲存在字串中。
執行後,buf中字串為"1 2 3 4.000000"。
格式字串使用方法與輸出函式printf相同。
8樓:匿名使用者
這些都是 整數 型的,所以把每一位拿出來放到char陣列裡面就好#include
#define len 20
int main()
for(i=0; i
9樓:匿名使用者
int i = 105:
char str[100] = ;
sprintf(str, "%d", i);
其他型別變數的方法類似
10樓:匿名使用者
用sprintf函式即可。例如
char s[20];
short a=35;
sprintf(s,"%d",a);就把s的值賦為“35”了。
c語言浮點型轉換為整型怎麼轉換的?
11樓:匿名使用者
第一種是bai利用系統預設的轉換,du即將小數部分zhi截去dao,僅保留整數部分回,如3.6轉換答為3,-5.68轉換為5。
第二種是強制型別轉換,效果與第一種相同,如(int)(-6.666)為-6。
如有其他特殊要求,則需要程式設計解決。
12樓:匿名使用者
c語言中沒有四捨五入,將浮點型轉換成整形時,只保留小數點前面的數值
13樓:匿名使用者
float ftemp;
不要後面bai
的=0;因為一旦你分配du給ftemp了值,它zhi是無法通過dao鍵盤寫入的方式賦給
回的,因為空答間已經被佔用。這不是a=b+c這樣表示式的賦值。
暈,難道要我把源**給你你直接複製?
那就給你吧!
#include
void main()
隨便輸入一個數,然後回車,看結果
14樓:程式猿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語言中a[10]="12345.56",怎麼把這字串原樣轉換為float型別
15樓:匿名使用者
#include
#include
main()
16樓:
可以自己寫一個函式,下面是我自己寫的,包含了必須的標頭檔案:
#include //strlen(),null#include //pow()
const double stringconverttofloat(char*str)
num=num*10+str[i]-'0';
}if (position!=0)
return num;
}返回值為float的話會丟失精度,所以用了double
c語言求正弦函式值,C語言求正弦函式值
狼頭 sin a sin a cos a cos a sin 2 a cos a cos 2 a sin a sin 2 a cos a cos 2 a sin a sin a sin a cos a cos a sin a sin a cos a cos a tga tana sinacosa 2...
C語言 簡單的數值統計,C語言問題 簡單統計
簡單的寫了一下 希望採納。include int main else if min 0 printf d 2lf min,summin min elseprintf 0 if max 0 printf d 2lf max,summ max elseprintf 0 return 0 c語言 prob...
c 中用函式寫冒泡演算法,對int,double,cha
include template void rote type a,type1 b,type2 c else if c max else if c else int k 3 for int i 0 i 3 i case 2 case 3 cout void main template void ms...