您尚未登录。

楼主 # 2024-01-20 22:04:22

hzqlz
会员
注册时间: 2018-03-23
已发帖子: 168
积分: 146

遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

我使用的是BK7231N的SDK,因为坑网没有对应的板块,就在同是WIFI模块的ESP32/ESP8266板块发个帖求助,以下是日志截图,第一次会出现转换结果为0的情况,后面就正常了。
_20240120220132.png

离线

#1 2024-01-21 09:56:16

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 660
积分: 793
个人网站

Re: 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

现在都流行提问说一半不说一半让大家猜谜吗?

离线

楼主 #2 2024-01-21 14:27:40

hzqlz
会员
注册时间: 2018-03-23
已发帖子: 168
积分: 146

Re: 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

海石生风 说:

现在都流行提问说一半不说一半让大家猜谜吗?

atof("000000003.1")的结果为0

离线

#3 2024-01-21 14:38:52

jxmlegend
会员
注册时间: 2019-11-22
已发帖子: 49
积分: 24

Re: 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

是不是超出float类型数据范围,用double试试

离线

#4 2024-01-21 18:35:04

海石生风
会员
所在地: 深圳
注册时间: 2019-07-02
已发帖子: 660
积分: 793
个人网站

Re: 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

hzqlz 说:
海石生风 说:

现在都流行提问说一半不说一半让大家猜谜吗?

atof("000000003.1")的结果为0

你单个写个C源码测试,结果是正确的吧。是你实际调用有问题,不是atof("000000003.1")问题。
提问最好要把怎么使用的细节列出来。不要一开始就怀疑一个很多人在用且用了很多年的C库有问题。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    double d = atof("000000003.1");

    printf("d = %f\n", d);
    return 0;
}

PS:标准的C库atof返回的是一个double,printf的"%f"接受的是一个double,其他C库特别是MCU平台的C库要另行确认是否有不同。

最近编辑记录 海石生风 (2024-01-21 18:41:27)

离线

#5 2024-01-24 11:33:11

nTliang
会员
注册时间: 2023-04-01
已发帖子: 25
积分: 28

Re: 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

楼主的SDK在哪里下载的?

离线

#6 2024-01-25 07:35:06

paul_zdchun
会员
注册时间: 2024-01-23
已发帖子: 26
积分: 6

Re: 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

第一次不对,以后就正常?

离线

楼主 #7 2024-01-30 14:46:20

hzqlz
会员
注册时间: 2018-03-23
已发帖子: 168
积分: 146

Re: 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

jxmlegend 说:

是不是超出float类型数据范围,用double试试

实际使用的类型也是double

离线

楼主 #8 2024-01-30 14:48:13

hzqlz
会员
注册时间: 2018-03-23
已发帖子: 168
积分: 146

Re: 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

nTliang 说:

楼主的SDK在哪里下载的?

这个是移远WIFI模块的SDK,他们也没测出来,所以在坛子里向各位大佬请教一下

离线

楼主 #9 2024-01-30 14:48:52

hzqlz
会员
注册时间: 2018-03-23
已发帖子: 168
积分: 146

Re: 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

paul_zdchun 说:

第一次不对,以后就正常?

是啊,以前用这个函数从来没有出过问题,在WIFI模块上掉用这个函数就出了问题

离线

楼主 #10 2024-01-30 14:49:45

hzqlz
会员
注册时间: 2018-03-23
已发帖子: 168
积分: 146

Re: 遇到一个很奇怪的问题,调用atof函数,第一次解析的数据居然为0,有大佬遇到过吗?

感谢各位大佬,这个问题我通过其他方式避开了,初步估计是SDK底层的问题

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn