搜索
bottom↓
回复: 15

ESP8266 连阿里云浮点数显示异常的原因,麻烦指教

[复制链接]

出0入0汤圆

发表于 2019-5-16 16:34:54 | 显示全部楼层 |阅读模式
硬件:ESP8266模块
软件:ESP8266_RTOS_SDK V3.1,使用SHT20读取温度,MQTT发送到阿里云服务器。float数据显示小数点后面位数特别多,有什么方式。
我试过*100后取整,再除100,还是这样。有什么方法可以解决,谢谢大家

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-5-16 18:17:03 | 显示全部楼层
你这头是无法解决的。 这是浮点数的问题,切确说是浮点数的精度不够。 精度不够,有些数是无法表达的。
可以换双精度double 试试

出20入0汤圆

发表于 2019-5-16 18:40:59 | 显示全部楼层
四舍五入到你要的小数位数, 剩下的变为0.

出0入0汤圆

发表于 2019-5-16 18:43:07 | 显示全部楼层
最好用128位。

出0入0汤圆

 楼主| 发表于 2019-5-16 19:05:57 | 显示全部楼层
mPiDDR 发表于 2019-5-16 18:17
你这头是无法解决的。 这是浮点数的问题,切确说是浮点数的精度不够。 精度不够,有些数是无法表达的。
可 ...

double我也试过,现象一样。没招了

出0入0汤圆

发表于 2019-5-16 19:08:35 来自手机 | 显示全部楼层
找一找有没有格式化显示数值

出0入0汤圆

 楼主| 发表于 2019-5-16 19:08:58 | 显示全部楼层
jackman 发表于 2019-5-16 18:40
四舍五入到你要的小数位数, 剩下的变为0.

4舍5入小数位数是怎么弄的,行, 我先搞一下试试

出0入224汤圆

发表于 2019-5-16 19:45:38 来自手机 | 显示全部楼层
难道不是直接发字符串上去的吗

出0入0汤圆

 楼主| 发表于 2019-5-16 19:54:54 | 显示全部楼层
yyts 发表于 2019-5-16 19:45
难道不是直接发字符串上去的吗

是了字符串,用json打包

出0入0汤圆

发表于 2019-5-16 20:04:51 | 显示全部楼层
格式化字符串,可以选择保留几位小数 %.2f  保留2位小数 ,用 sprintf

出615入1076汤圆

发表于 2019-5-16 22:59:20 来自手机 | 显示全部楼层
這不是 float 型數據自身問題,而是 APP 顯示沒處理好的問題。

出0入224汤圆

发表于 2019-5-17 07:29:15 来自手机 | 显示全部楼层
xjjiang 发表于 2019-5-16 19:54
是了字符串,用json打包

那你字符串本身是什么值呢?

出0入50汤圆

发表于 2019-5-17 11:04:28 | 显示全部楼层
很明显是自身打json包的问题。比较一下你自己发出来的json包是什么样的

出0入0汤圆

发表于 2019-5-17 11:06:00 | 显示全部楼层
javascript显示浮点的问题,一般需要在平台处理。

出0入0汤圆

发表于 2019-5-17 11:07:42 | 显示全部楼层
显示要格式化

出0入0汤圆

发表于 2019-5-17 11:29:05 | 显示全部楼层
变格式,我一直显示浮点没问题
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 16:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表