gpt4 book ai didi

C - strtod() 不识别小数点

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:42 27 4
gpt4 key购买 nike

我有一个缓冲区,其中有“随机”数字,用逗号分隔。例如:

“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 中的点 (.) 和数字键盘中的点 (.)。他们都给我相同的结果。

我正在使用 dev c++(我无法选择,我在我的工作站上不是管理员)。

感谢您的关注和帮助:)

最佳答案

使用 double 类型:

double number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%lf\n", number);

关于C - strtod() 不识别小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31246545/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com