[英]Arduino float - 6 decimal numbers
我想知道是否有人對十進制數有一個好的解決方案。
我使用Arduino Mega,嘗試將小數點后的浮點數轉換為6個數字。 當我嘗試時,我得到5個正確的數字,但不是6。6個數字要么不計算,要么顯示為0。我嘗試了很多不同的方法,但最終總是顯示5個正確的數字,而不是6 。
有人對此有解決方案嗎?
申請所有幫助
通常,您可以使用浮點數的比例整數形式來保持精度。
具體來說,如果這些是來自GPS設備的經/緯度值,則您可能會對我的NeoGPS感興趣。 在內部,它使用32位整數維護10個有效數字。 如您所知,大多數庫只提供6或7位數字,因為它們使用float
。
該示例示出了NMEAloc.ino如何打印32位整數,好像他們是浮點值。 它只是在正確的位置打印小數點。
NeoGPS距離和方位計算也要謹慎執行數學運算,以保持該精度。 與所有其他在天真的計算中使用float
類型的庫不同,在較小的距離/軸承處,結果非常好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.