我有一个缓冲区,里面有“随机”的数字,用尾巴隔开。例如:
"1589.3,12478.359,485.39971“等
我需要检查小数部分和整数部分的长度。
我做了一些研究,为了得到一个数字,我决定在我的缓冲区上使用strtod()。
然而,它并没有像预期的那样工作。所以我试了一个简单的例子:
int number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%d\n", number);这打印了3113,所以我做了一些研究,我发现我应该使用%f,因为它不是整数。
所以我纠正了它:
int number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%f\n", number);然后它会打印我0.000000
我试着用一个逗号(,),用普通的圆点(.)和数字键区(.)中的点。它们都给了我相同的结果。
我正在使用开发的c++ (我不能选择,我不是我的工作站的管理员)。
感谢您的关注和帮助:)
发布于 2015-07-06 21:04:32
使用类型double:
double number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%lf\n", number);https://stackoverflow.com/questions/31246545
复制相似问题