的問題是,我具有表示華氏單元double
值轉換沒有損失
var fahrenheit = 80.0;
爲了將其轉換爲攝氏我使用公式
var celsius = (fahreheit - 32.0)/1.8;
它給出一個數字26.666667
(比方說26.67
)
當我將其轉換回
var fahrenheitAgain = 1.8 * celsius + 32.0;
它提供了一個更高的數字80.006
,如果我有2個小數位,則四捨五入爲80.01
。但是,我如何獲得與以前相同的價值?
是否有任何已知的解決方案來將任何雙值來回轉換始終具有相同的值?
無論你如何確保你在這裏選擇的數字都能正常工作,只會意味着它不適用於不同類型的數字。如果你確實有測量的溫度,那麼你需要意識到你的價值並不是真正存在的,它們是近似值,並相應地對待它們。 – Servy
您也可以使用十進制而不是雙精度。但是塞維認爲這個問題仍然會出現在一些價值觀上。 – deathismyfriend
我應該理解,就像沒有辦法具有相同的值? –