【发布时间】:2019-04-07 22:41:18
【问题描述】:
例如,转换一个字符串中包含的字符:
{x1 5.12 x2 7.68 x3}
to double 值已转换为:
0.0000005.1200000.0000007.6800000.000000
我如何转换这些双精度值,以便创建一个字符数组:
{0.000000,5.120000,0.000000,7.680000,0.000000}
我一直在到处寻找进行这种转换的方法,但似乎没有任何效果。如果有人可以请提供一个代码来做这个转换。这些是我的代码:
void exSplit(char newEx[50]){ //newEx[50] contains {x1 5.12
x2 7.68 x3}
char *delim = " ";
char *token = NULL;
char valueArray[50];
char *aux;
int i;
for (token = strtok(newEx, delim); token != NULL; token =
strtok(NULL, delim))
{
char *unconverted;
double value = strtod(token, &unconverted);
printf("%lf\n", value);
}
}
【问题讨论】:
-
这个
{0.000000,5.120000,0.000000,7.680000,0.000000}看起来不像一个字符数组,而是一个浮点数数组。 -
如果你想要一个字符串,为什么要将输入字符串转换为双精度值?
标签: c arrays string type-conversion double