需要准备的材料分别有:电脑、C语言编译器。
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了招远免费建站欢迎大家使用!
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,输入C语言代码:double a = 2.71828;printf("%d", int(a));。
3、编译器运行test.cpp文件,此时成功将浮点数2.71828转换为了整数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) {// 包含小数点
while(s[i] != '.') {// 小数部分
numf = numf/10.0f + s[i] - '0';
--i;
}
numf = numf/10.0f;
--i;
while(s[i]) {// 整数部分
numi = 10 * numi + s[i] - '0';
--i;
}
}
else {
i = 0;
while(s[i]) {//不包含小数点
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;
}
扩展资料
C++中将字符串转换成浮点数
#includeiostream
#includesstream
#includestring
使用命名空间std;
intmain()
{
std::stringstr=“3.14”;
std::stringstreamss(str);
浮动f;
ssf;
coutf+1;
返回0;
}
C语言中,浮点型转换为整型可以用:强制类型转换、自动类型转换,例如:(int)3.14、int a = 3.14。
1、强制类型转换
强制类型转换是通过类型转换运算来实现的。其一般形式为:(类型说明符)(表达式),其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。
例如: (double) a 把a转换为双精度浮点型,(int)(x+y) 把x+y的结果转换为整型。
2、自动类型转换
(1)执行算术运算时,低类型(短字节)可以转换为高类型(长字节);例如: int型转换成double型,char型转换成int型等。
(2)赋值表达式中,等号右边表达式的值的类型自动隐式地转换为左边变量的类型,并赋值给它。
(3)函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参。
(4)函数有返回值时,系统首先会自动隐式地将返回表达式的值的类型转换为函数的返回类型,然后再赋值给调用函数返回。
扩展资料:
C语言中常用的数据类型:
1、int:整型
2、float:单精度浮点型
3、double:双精度浮点型
4、char:字符型
5、char *:字符指针型
参考资料来源:百度百科-强制类型转换
#include stdio.h
#include stdlib.h
int main() {
float fa = 3.68f;
char fstr[20];
// 最简易的方法
sprintf(fstr,"%f",fa);
printf("%s\n",fstr);
// 用专用函数转换
gcvt(fa,8,fstr);
printf("%s\n",fstr);
return 0;
}
如果
x
是
float
型,c
是
char
型,这样就可以把
类型转换
:
c
=
(char)
x;
所谓转换是这样的。例如:
float
x
=
65.1;
char
c;
c
=
(char)
x;
这样
c
里存的就是
65,即字符
'A'。
补充回答:
还有另外一种“转换”,就是
Arvin
2010-11-06
14:08
所说的,不过不是
float
型转换成
char
型,而是把
float
型的
数字转换
成为“字符型数组”的表达方式。这种转换最简单的方法就是借用
里的
sprintf
函数,把实数打印到数组里。
例如:
float
x
=
65.1;
char
a[20];
sprintf(a,
"%g",
x);
这样子,数组
a
里就会保存字符串
"65.1",即
a[0]
=
'6';
a[1]
=
'5';
a[2]
=
'.';
a[3]
=
'1';
a[4]
=
'\0';
不知道楼主要的,是哪一种转换。请选择满意的答案采纳。如有疑问,欢迎追问。