首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android ndk atof()

Android ndk atof()
EN

Stack Overflow用户
提问于 2014-03-23 21:43:54
回答 1查看 610关注 0票数 0

嗨,我有一个使用ndk的android项目

有一个定义为atof()的c函数

代码语言:javascript
复制
static __inline__ double atof(const char *nptr)
{
    return (strtod(nptr, NULL));
}

但不知何故,它总是会导致0.0

代码语言:javascript
复制
error_printf("found %s parsed %d \n",nextArg, atof(nextArg));
found 44 parsed 0

你知道为什么吗?

参数nextArg似乎不是问题所在

代码语言:javascript
复制
error_printf("found %s parsed %d \n","123", atof("123"));
found 123 parsed 0 
EN

回答 1

Stack Overflow用户

发布于 2014-03-23 23:54:40

将打印消息从需要32位整数的%d更改为需要64位浮点值的%f

您的print语句显示了其参数的低32位,由于您选择的测试输入,这些参数恰好全为零。如果打印atof(123.3),您将看到来自%d的非零值。

当然,还要确保你有#include <stdlib.h>,以确保你有atof()strtod()的原型。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22591681

复制
相关文章

相似问题

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