读书人

C语言字符串转double的有关问题

发布时间: 2012-03-27 13:44:24 作者: rapoo

C语言字符串转double的问题
我有一个字符串
char str[20]="0,23,1.6,0,AE";
double d1;
我想取出1.6然后把他传给一个double变量d1中,请问应该怎么做?

[解决办法]
你要是有类似的其他串,还可以用指针+strstr或者strtok之类的函数来实现

探讨
C/C++ code

double d1,d2,d3;
char str[20]="0,23,1.6,0,AE";

sscanf(str, "%lf,%lf,%lf", &d3, &d2, &d);

上面的掉了逗号,你再试试

[解决办法]
double d;
char str[20]="0,23,1.6,0,AE";
sscanf(str, "%*lf,%*lf,%lf", &d);
printf("d=%lg\n",d);

[解决办法]
http://blog.csdn.net/kenby/article/details/4051018
[解决办法]
探讨

atof

读书人网 >C语言

热点推荐