我有一个缓冲区,其中有"随机"数字,以昏迷分开。例如:
" 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
我尝试使用昏迷(,),使用常规jeyboard(。)中的点和数字键盘中的点(。)。他们都给了我相同的结果。
我正在使用开发c ++(我无法选择,我不是我工作站的管理员)。
感谢您的关注和帮助:)
答案 0 :(得分:3)
使用double类型:
double number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%lf\n", number);