道歉,如果這已被問到,但我找不到它。C#++和 - 增加雙變量0.1 0.1
我有一個雙變量,我正在做++和 - 增加和減少值。
我的號碼是95.8例如,與++將使96.8
但我想++運算符,以0.1每次遞增,因此數量將增加至95.9例如。
感謝, 丹
道歉,如果這已被問到,但我找不到它。C#++和 - 增加雙變量0.1 0.1
我有一個雙變量,我正在做++和 - 增加和減少值。
我的號碼是95.8例如,與++將使96.8
但我想++運算符,以0.1每次遞增,因此數量將增加至95.9例如。
感謝, 丹
,除非你創建你自己的類型(類),並覆蓋這些運營商這是不支持的。
使用以下代替:
x += 0.1;
我會無恥地扼殺那些會使++運算符重載的人在數值類型上增加1以外的值。 – 2011-06-10 22:27:19
@Mike:是的,這裏也一樣。特別是因爲已經有語法以清晰簡潔的方式來完成此任務。 – 2011-06-10 22:33:10
完美的喬納森,我以前沒有使用+ =運算符。它很簡單,我忽略了它;-) – 2011-06-10 22:34:29
根據定義,++
和--
運營商去了1
。
你可以用你想要的語義創建一個類,但是你會讓代碼的未來讀者感到困惑。
爲什麼要打這個系統?爲什麼不說x += 0.1;
等?
爲什麼你不使用+ =運算符? – Waleed 2011-06-10 22:22:33
難道你不認爲這可能會混淆會期待不同行爲的其他人嗎? 「myDouble + = 0.1;」有什麼問題? ? – Andrei 2011-06-10 22:23:35
順便提一句,請注意,每次增加0.1會引入浮點錯誤(因爲0.1不能表示爲二進制浮點中的確切數字)。考慮將數字表示爲一個整數,例如,在您的示例中爲958和959,然後在顯示時除以10。 – 2011-06-10 22:27:18