我正在将GPS NEO 6m与esp8266(NODEMCU)结合使用,并将数据上传到Firebase 使用 “ Serial.print(gps.location.lat(),6);”显示“纬度= 34.200271” 但是如何将纬度保存为具有6个小数位数的本地变量? 使用“ float latitude =(gps.location.lat());仅保存34.20”
和“ float latitude =(gps.location.lat(),6);仅保存6” 谢谢
答案 0 :(得分:0)
在纬度中存储纬度应该可以正常工作。但是这行代码是错误的:
float latitude=(gps.location.lat(),6);
您正在做的就是将以下操作的结果分配:(gps.location.lat(), 6)
到浮点数。括号运算符肯定是奇怪的。它将按照给定的顺序执行括号中所有用逗号分隔的操作,但返回LAST操作的结果。在这种情况下,它是6
。
将代码行更改为:
float latitude = gps.location.lat();
应该解决您的问题。
答案 1 :(得分:0)
感谢您的回复,我使用以下方法将7位小数的浮点数上传到Firebase:
char latitude[10];
sprintf(latitude, "%.7f", gps.location.lat());
Firebase.setString ("Latitude",latitude);
delay(1000);
答案 2 :(得分:0)
使用“ float latitude=(gps.location.lat()); 只保存34.20“
我认为它将所有可用的小数点保存到 latitude
打印/输出时使用
Serial.println(latitude,6);