我想知道是否有人对小数字有一个很好的解决方案。
我使用Arduino Mega,并尝试在小数点后转换带有6个数字的浮点数。当我尝试时,我得到5个数字是正确的,但不是6号.6号码要么不计算,要么显示为0.我尝试了很多不同的东西,但总是显示5个数字正确,但不是6
有人有解决方案吗?
Appriciate all help
答案 0 :(得分:0)
答案 1 :(得分:0)
通常,您可以使用缩放整数形式的浮点数来保持准确性。
具体来说,如果这些是来自GPS设备的纬度/经度值,您可能会对我的NeoGPS感兴趣。在内部,它使用32位整数来保持10位有效数字。正如您所发现的,大多数库只提供6或7位数,因为它们使用float
。
示例NMEAloc.ino显示了如何打印32位整数,就像它们是浮点值一样。它只是在正确的位置打印小数点。
NeoGPS距离和方位计算也要小心,以保持精度的方式执行数学运算。结果非常适合小距离/方位,不同于在幼稚计算中使用float
类型的所有其他库。