簡體   English   中英

Arduino浮點數-6個十進制數字

[英]Arduino float - 6 decimal numbers

我想知道是否有人對十進制數有一個好的解決方案。

我使用Arduino Mega,嘗試將小數點后的浮點數轉換為6個數字。 當我嘗試時,我得到5個正確的數字,但不是6。6個數字要么不計算,要么顯示為0。我嘗試了很多不同的方法,但最終總是顯示5個正確的數字,而不是6 。

有人對此有解決方案嗎?

申請所有幫助

4字節浮點數可以容納6個有效數字。 8字節的雙打可以容納15。

您需要使用雙精度來獲得所需的精度。

4字節浮點數的信息

通常,您可以使用浮點數的比例整數形式來保持精度。

具體來說,如果這些是來自GPS設備的經/緯度值,則您可能會對我的NeoGPS感興趣。 在內部,它使用32位整數維護10個有效數字。 如您所知,大多數庫只提供6或7位數字,因為它們使用float

該示例示出了NMEAloc.ino如何打印32位整數,好像他們是浮點值。 它只是在正確的位置打印小數點。

NeoGPS距離和方位計算也要謹慎執行數學運算,以保持該精度。 與所有其他在天真的計算中使用float類型的庫不同,在較小的距離/軸承處,結果非常好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM