c语言int转换为double,c++中double转为int型
#包含标准视频
#包含标准库
#定义长度128
int main(void){
char str[LENGTH];
puts(请输入字符串:);
scanf(%s ,str);
printf(转换为(同国际组织)国际组织型后为%d,\n ,atoi(str));
printf(转换为长的型后为%ld。\n ,atol(str));
printf(转换为两倍型后为%lf。\n ,atof(str));
返回0;
}运行结果:
使用函数库:#包含标准库
函数
原型
说明
返回值
字符串
int atoi(常量字符*nptr)
将硬度检测指向的字符串转换为(同国际组织)国际组织型表示
返回转换后的值。结果值不能用(同国际组织)国际组织型表示时的处理未定义
阿托尔
长环礁(常量字符*nptr)
将硬度检测指向的字符串转换为长的型表示
返回转换后的值。结果值不能用长的型表示时的处理未定义
还有
双精度atof(常量字符*nptr)
将硬度检测指向的字符串转换为两倍型表示
返回转换后的值。结果值不能用两倍型表示时的处理未定义
字符串函数实现:
int atoi(const char *nptr){
int flag=1;
int result=0;
if(nptr==NULL)
返回0;
while(*nptr== *nptr==\t )
硬度检测
if(*nptr==-){
flag=-1;
硬度检测
}
while(*nptr!=\0){
if(*nptr=0 *nptr=9){
结果=结果* 10(* nptr- 0 );
}否则{
打破;
}
硬度检测
}
返回结果*标志;
}环礁函数实现:
int atol(const char *nptr){
int flag=1;
长结果=0;
if(nptr==NULL)
返回0;
while(*nptr== *nptr==\t )
硬度检测
if(*nptr==-){
flag=-1;
硬度检测
}
while(*nptr!=\0){
if(*nptr=0 *nptr=9){
结果=结果* 10(* nptr- 0 );
}否则{
打破;
}
硬度检测
}
返回结果*标志;
}atof函数实现:
#包含标准视频
#定义长度128
数据类型说明枚举{假,真}布尔
double atof(const char* nptr){
双结果=0.0;
双d=10.0
int count=0;
if(nptr==NULL){
返回0;
}
while(*nptr== *nptr==\t){
硬度检测
}
布尔标志=假
while(*nptr==-){
标志=真
硬度检测
}
如果(!(* nptr= 0 * nptr= 9 ){
返回结果;
}
while(*nptr=0 *nptr=9){
结果=结果* 10(* nptr- 0 );
硬度检测
}
if(*nptr== . ){
硬度检测
}
while(*nptr=0 *nptr=9){
result=result(* nptr- 0 )/d;
d *=10.0
硬度检测
}
结果=结果*(标志?-1.0 : 1.0);
if(*nptr==e *nptr==E){
flag=(* nptr==-)?真:假;
if(*nptr== *nptr==-){
硬度检测
}
while(*nptr=0 *nptr=9){
count=count * 10(* nptr- 0 );
硬度检测
}
if(flag==true) {
而(计数0){
结果=结果/10;
count-;
}
}
if(flag==false){
而(计数0){
结果=结果* 10;
count-;
}
}
}
返回结果;
}
int main(void){
char str[LENGTH];
puts(请输入字符串:);
scanf(%s ,str);
printf(转换为两倍型后为%f,\n ,atof(str));
返回0;
}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。