2013-03-13 108 views
1

我一直在試圖弄清楚如何解析在.NET Micro Framework(.NETMF)中的雙精度與在正常的.NET框架相同的精度。.NET微型框架解析雙重

當我這樣做是經典的.NET框架:

Debug.Print(Double.Parse("4213238").ToString()); 

我得到期望的輸出,4213238.

但是,當我做同樣的事情在.NETMF我得到的非精確的輸出4213238.0000000009 。在兩個.NET框架實現中,double的大小都是8個字節。我需要做什麼才能使.NETMF Double.Parse與普通.NET框架Double.Parse一樣工作?

有沒有比爲此編寫解析器方法更好的方法?

回答

3

我得到非精確的輸出4213238.0000000009

不,那是精確的。 Double可以存儲15位有效數字。把它們計算在內,你把它們全部都拿走了其餘的只是隨機噪聲數字,其值受浮點硬件實現的影響。您的MF目標具有不同的硬件。如果沒有選擇另一種類型,沒有什麼可以獲得更多的魔法,只顯示更少的數字並不會帶來魔法。整數或長整數當然是一個很好的選擇,它們非常精確。