使用小數時會發生舍入錯誤,因爲它從另一個系統讀取另一個數據類型。所以我想知道是否有可能重載十進制類型的+運算符?我看到的所有例子都是基於新定義的結構。我可以重載十進制類型的+運算符嗎?
1
A
回答
4
否decimal
是value type,因此不能被繼承。您必須糾正在此之外的舍入,可能是通過擴展方法,例如,
public static decimal Add(this decimal value, ...)
{
... do manual calculation & rounding
}
3
你只能超負荷運營商對於類/結構的定義範圍內的類/結構,所以沒有辦法,你可以覆蓋的decimal
類型的默認+
行爲。
理想情況下,你會寫一些包裝來糾正源頭的舍入錯誤。
相關問題
- 1. 我們可以重載運算符的內置類型,如int或float嗎?
- 2. 我可以重載運算符爲特定版本的泛型類嗎?
- 3. 重載運算符類型
- 4. 我可以重載用於創建字典的{}運算符嗎?
- 5. C#:二進制運算符重載:不包含類型?
- 6. 重載運算符[]爲非類類型
- 7. 在C#5.0中改進了泛型類型的特性/運算符重載嗎?
- 8. 重載內置類型的運算符
- 9. 內置類型的運算符重載
- 10. 運算符重載,運算符=在類,「沒有指定類型」
- 11. 二進制運算符重載C++
- 12. 我可以使用全局運算符new作爲運算符new重載的類嗎?
- 13. 十進制和十進制空合併運算符
- 14. 我可以使用運算符重載來創建指向泛型類型的指針嗎?
- 15. Python:運算符重載特定類型
- 16. 運算符重載返回類型
- 17. 運算符重載和類型轉換
- 18. 我可以在Number基類上進行算術運算嗎?
- 19. 泛型重載運算符
- 20. 您可以重載.hpp文件中的全局運算符嗎?
- 21. 算術十進制選項類型
- 22. 十進制數可以用十進制數加/減嗎?
- 23. 十進制類型
- 24. 十進制類型
- 25. 爲可爲null的類型重載=運算符?
- 26. 類型smatch沒有可行的重載運算符
- 27. 沒有可行的重載運算符[]類型
- 28. 運算符&&不能應用於十進制和十進制類型的操作數
- 29. 重載運算符+類
- 30. 運算符重載Array類
我腦海中的某些東西在嘮叨我說「這不是正確的做法」。你能否澄清這個陳述「因爲它從另一個系統讀取另一個數據類型」?考慮你會後悔超負荷的可能性,尤其是如果在實施過程中你需要......增加兩位小數。此外,請考慮您正在依賴於特定於您當前使用的.NET版本/修訂版的行爲的可能性。 –