我已經讀過不同的帖子在stackoverflow和C#文檔,轉換long
(或任何其他數據類型代表一個數字)到double
失去精度。由於浮點數的表示,這是非常明顯的。精度損失轉換爲雙倍有多大?
我的問題是,如果我將大數轉換爲double
,精度的損失有多大?我是否期望差異大於+/- X?
我想知道這個的原因是我必須處理連續的計數器,它是一個long
。我的應用程序將此值讀取爲string
,需要投射並且必須除以例如。 10或其他一些小號碼,然後進一步處理。
decimal
會更適合這項任務嗎?
好吧'decimal'當然可以將所有信息保存在'long'中......但它確實不清楚您的要求是。 –
@JonSkeet實際上沒有,我知道如何用小數解決它,但問題或多或少地出於好奇。我需要多少精確的損失。 – John