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語言矩陣轉置問題
高山之澍 其實只是小問題,你自己都編的很好了。就是儲存螢幕不在按入q和enter鍵螢幕不會馬上消失上面有問題 你可以用兩個getchar 函式來讀取鍵盤輸入,前一個數緩衝enter鍵,後一個等待鍵盤輸入,然後螢幕消失!已修改,如下 include include define maxsize 20 ...
用C語言取數值的的中間值,用C語言取5個數值的的中間值
include stdio.h define count 5 void main int t count 2 printf d arra t 這個拿來幹嘛呢!lz 誰拿個錯的上來糊弄人啊!你既然搞了個count出來也不賦值,也不考慮多種情況! 看怎麼理解這個題目,取位置處於中間的一個數。偽碼是 if...
c語言程式設計實現23的矩陣轉置,C語言程式設計實現2 3的矩陣轉置
include iostream usingnamespacestd voidzhuangzhi inta 3 3 intm,n,i for m 0 m 2 m for i 0 i 3 i if m!1 i!0 n a i m a i m a m i a m i n intmain inta 3 3...