需要準(zhǔn)備的材料分別有:電腦、C語言編譯器。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了招遠(yuǎn)免費(fèi)建站歡迎大家使用!
1、首先,打開C語言編譯器,新建一個(gè)初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,輸入C語言代碼:double a = 2.71828;printf("%d", int(a));。
3、編譯器運(yùn)行test.cpp文件,此時(shí)成功將浮點(diǎn)數(shù)2.71828轉(zhuǎn)換為了整數(shù)2。
#includestdio.h
#includestdlib.h
int?Slen(char?s[])?{
int?len?=?0;
while(s[len])?++len;
return?len;
}
int?Include(char?s[],char?c)?{
int?i?=?0;
while(s[i])?{
if(s[i]?==?c)?return?1;
++i;
}
return?0;
}
char?*Float2Txt(float?a,char?s[])??{
sprintf(s,"%.2f",a);
return?s;
}
float?Txt2Float(char?s[])?{
float?a?=?0,numi?=?0,numf?=?0,mult?=?1.0f;
int?i?=?0,flag?=?0;
int?len?=?Slen(s);
i?=?len?-?1;
flag?=?Include(s,'.');
if(flag)?{//?包含小數(shù)點(diǎn)?
while(s[i]?!=?'.')?{//?小數(shù)部分?
numf?=?numf/10.0f?+?s[i]?-?'0';
--i;
}
numf?=?numf/10.0f;
--i;
while(s[i])?{//?整數(shù)部分?
numi?=?10?*?numi?+?s[i]?-?'0';
--i;
}
}
else?{
i?=?0;?
while(s[i])?{//不包含小數(shù)點(diǎn)?
numi?=?10?*?numi?+?s[i]?-?'0';
++i;
}
}
return?numi?+?numf;
}
main(){
float?a?=?33.267f;
char?s[13],t[]?=?"2.00365987554";
printf("%s\n",Float2Txt(a,s));
printf("%.6f\n",Txt2Float(t));?
return?0;
}
#includestdio.h
#includestdlib.h
#includestring.h
#defineucharunsignedchar
#defineuintunsignedint
intpows(intx)
{
inty=1;
for(;x!=0;x--)
y=y*10;
returny;
}
voiddisplay_result(doubleresult)
{
if(result0)
{
printf("-");
display_result(-result);
}
if(result0)
{
doublei;
intx;
uinty;
i=1;
for(x=0;i=1;x++)
i=result/pows(x+1);
for(;x!=0;x--)
{
y=((uint)(result/pows(x-1)))%10;
printf("%d",y);
}
printf(".");
i=result-(uint)result;
for(x=0;x6;x++)
{
y=((uint)(i*pows(x+1)))%10;
printf("%d",y);
}
}
}
intmain()
{
doublenum;
scanf("%lf",num);
printf("%lf\n",num);
display_result(num);
return0;
}
擴(kuò)展資料
C++中將字符串轉(zhuǎn)換成浮點(diǎn)數(shù)
#includeiostream
#includesstream
#includestring
使用命名空間std;
intmain()
{
std::stringstr=“3.14”;
std::stringstreamss(str);
浮動(dòng)f;
ssf;
coutf+1;
返回0;
}
C語言中,浮點(diǎn)型轉(zhuǎn)換為整型可以用:強(qiáng)制類型轉(zhuǎn)換、自動(dòng)類型轉(zhuǎn)換,例如:(int)3.14、int a = 3.14。
1、強(qiáng)制類型轉(zhuǎn)換
強(qiáng)制類型轉(zhuǎn)換是通過類型轉(zhuǎn)換運(yùn)算來實(shí)現(xiàn)的。其一般形式為:(類型說明符)(表達(dá)式),其功能是把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類型說明符所表示的類型。
例如: (double) a 把a(bǔ)轉(zhuǎn)換為雙精度浮點(diǎn)型,(int)(x+y) 把x+y的結(jié)果轉(zhuǎn)換為整型。
2、自動(dòng)類型轉(zhuǎn)換
(1)執(zhí)行算術(shù)運(yùn)算時(shí),低類型(短字節(jié))可以轉(zhuǎn)換為高類型(長字節(jié));例如: int型轉(zhuǎn)換成double型,char型轉(zhuǎn)換成int型等。
(2)賦值表達(dá)式中,等號(hào)右邊表達(dá)式的值的類型自動(dòng)隱式地轉(zhuǎn)換為左邊變量的類型,并賦值給它。
(3)函數(shù)調(diào)用時(shí),將實(shí)參的值傳遞給形參,系統(tǒng)首先會(huì)自動(dòng)隱式地把實(shí)參的值的類型轉(zhuǎn)換為形參的類型,然后再賦值給形參。
(4)函數(shù)有返回值時(shí),系統(tǒng)首先會(huì)自動(dòng)隱式地將返回表達(dá)式的值的類型轉(zhuǎn)換為函數(shù)的返回類型,然后再賦值給調(diào)用函數(shù)返回。
擴(kuò)展資料:
C語言中常用的數(shù)據(jù)類型:
1、int:整型
2、float:?jiǎn)尉雀↑c(diǎn)型
3、double:雙精度浮點(diǎn)型
4、char:字符型
5、char *:字符指針型
參考資料來源:百度百科-強(qiáng)制類型轉(zhuǎn)換
#include?stdio.h
#include?stdlib.h
int?main()?{
float?fa?=?3.68f;
char?fstr[20];
//?最簡(jiǎn)易的方法
sprintf(fstr,"%f",fa);
printf("%s\n",fstr);
//?用專用函數(shù)轉(zhuǎn)換
gcvt(fa,8,fstr);
printf("%s\n",fstr);
return?0;
}
如果
x
是
float
型,c
是
char
型,這樣就可以把
類型轉(zhuǎn)換
:
c
=
(char)
x;
所謂轉(zhuǎn)換是這樣的。例如:
float
x
=
65.1;
char
c;
c
=
(char)
x;
這樣
c
里存的就是
65,即字符
'A'。
補(bǔ)充回答:
還有另外一種“轉(zhuǎn)換”,就是
Arvin
2010-11-06
14:08
所說的,不過不是
float
型轉(zhuǎn)換成
char
型,而是把
float
型的
數(shù)字轉(zhuǎn)換
成為“字符型數(shù)組”的表達(dá)方式。這種轉(zhuǎn)換最簡(jiǎn)單的方法就是借用
里的
sprintf
函數(shù),把實(shí)數(shù)打印到數(shù)組里。
例如:
float
x
=
65.1;
char
a[20];
sprintf(a,
"%g",
x);
這樣子,數(shù)組
a
里就會(huì)保存字符串
"65.1",即
a[0]
=
'6';
a[1]
=
'5';
a[2]
=
'.';
a[3]
=
'1';
a[4]
=
'\0';
不知道樓主要的,是哪一種轉(zhuǎn)換。請(qǐng)選擇滿意的答案采納。如有疑問,歡迎追問。
分享題目:c語言浮點(diǎn)數(shù)轉(zhuǎn)換函數(shù),c語言函數(shù)返回浮點(diǎn)數(shù)
轉(zhuǎn)載來源:http://jinyejixie.com/article48/hsdsep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)、動(dòng)態(tài)網(wǎng)站、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)