btcq.net
当前位置:首页 >> 字符串转DouBlE C >>

字符串转DouBlE C

#include <stdlib.h> void main() { char buf[] = "123.456789"; double k,i=5,j; k = atof(buf);//把字符串转化为double型 j=k+i; printf("%.2lf", j); } atof()是把字符串转化为双精度型数 atoi()是把字符串转化为整型数 atol()是把字符串转化为长整型数

double dNumber = Convert::ToDouble(strNumber );

方法1 double b=1.2; string str=""+b; 方法2 double b=1.2; double do=new double(b); string str=do.tostring(); 这里double是一个包装类,把double类型数据包装成一个对象,然后调用它的 tostring()方法得到对应的字符串. 方法3 直接用包装类double的静态方法把double数据转换为字符串,如: double b=1.2; string str=double.tostring(b);

引用头文件math.h 调用函数atof()实现转换,如:char str[]="123.456"; double dval=atof(str); printf("%f", dval );

最简单的方式,是用sscanf函数比如你的字符串存在了str字符串中,要读取成double变量a,可以这样写sscanf(str,"%lf",&a);如果硬要像你说的那样做,就有些麻烦了以下函数用于将字符串str转成double并返回double string_to_double(char *str){double ans;double k;ans=0;while (*str && *str!='.'){ans=ans*10+*str-'0';str++;}if (*str=='.'){*str++;k=0.1;while (*str){ans+=(*str-'0')*k;k/=10;str++;}}return ans;}

double类型转为String,只要加 个 +""; 就行了

每个字符减去'0' 定义一个double数组 赋值一下

好像没这么复杂吧.double str2double(char const *str){double x;sscanf(str,"%lf",&x);return x;}

sscanf(,"%f",);这样得到的是float类型的,然后将其强制转换为double类型

参考代码:#include <stdio.h>#include <stdlib.h>int main(){ char str1[20], str2[20]; scanf("%s", str1); scanf("%s", str2); /*使用atof函数转换*/ printf("%s + %s = %lf\n", str1, str2, atof(str1)+atof(str2)); return 0;}运行效果:

网站首页 | 网站地图
All rights reserved Powered by www.btcq.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com