首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C- strtod()无法识别小数点

C- strtod()无法识别小数点
EN

Stack Overflow用户
提问于 2015-07-06 20:59:03
回答 1查看 505关注 0票数 0

我有一个缓冲区,里面有“随机”的数字,用尾巴隔开。例如:

"1589.3,12478.359,485.39971“等

我需要检查小数部分和整数部分的长度。

我做了一些研究,为了得到一个数字,我决定在我的缓冲区上使用strtod()。

然而,它并没有像预期的那样工作。所以我试了一个简单的例子:

代码语言:javascript
复制
int number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%d\n", number);

这打印了3113,所以我做了一些研究,我发现我应该使用%f,因为它不是整数。

所以我纠正了它:

代码语言:javascript
复制
int number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%f\n", number);

然后它会打印我0.000000

我试着用一个逗号(,),用普通的圆点(.)和数字键区(.)中的点。它们都给了我相同的结果。

我正在使用开发的c++ (我不能选择,我不是我的工作站的管理员)。

感谢您的关注和帮助:)

EN

回答 1

Stack Overflow用户

发布于 2015-07-06 21:04:32

使用类型double:

代码语言:javascript
复制
double number;
char myNumber[10] = "3113.14";
number = strtod (myNumber,NULL);
printf("%lf\n", number);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31246545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档