是否可以使用system.currency。它表示system.currency由於其保護級別而無法訪問。什麼是貨幣的替代。我可以在.NET中使用「System.Currency」嗎?
回答
這可能是通過反射,但原因可能是它的出現是FromOACurrency()
和ToOACurrency()
靜態方法上System.Decimal
,這是自/至OLE自動化Currency
類型的Visual Basic 6層的用途convering。
使用十進制。 Currency提供的所有函數都是Decimal,FromOACurrency和ToO貨幣的靜態方法。
您實際上不能使用貨幣的十進制數。當你分裂時,你會在以後遇到更大的問題。假設你有1美元分成3分,即1/3 = 0.33(四捨五入),但是3×0.33 = 0.99!= 1.它可能很小,但是當你在會計和答案中這樣做時,一個巨大的數字。這也是爲什麼.Net(默認其他編程語言)中默認的向上/向下行爲是下一個偶數值(也稱爲銀行家舍入)的原因,以最大限度地減少與我們正常的「人爲」舍入方式相比的會計錯誤。
閱讀此頁面以獲得更清晰的解釋和專門處理金錢的課程。 Code Project : A Money type for the CLR
兼談Rounding
-1的部分,因爲此答案具有誤導性。十進制是專門用於正確存儲資金的數據類型。做計算是一種不同的問題,取決於上下文:如果你想在不損失金錢的情況下平均分配資金,你應該使用專門的函數/方法/類來正確地執行它(參見http:// martinfowler的.com/eaaCatalog/money.html)。 關於Code Project的引用文章基於一些無效的假設:不理解Decimal以基數10存儲,測試也可以使用Decimal成功,但假定它們將失敗。 – 2014-06-12 12:00:43
- 1. 我可以在Android應用程序中使用Net Dll嗎?
- 2. 我可以在.net 3.5中調用.net 2.0 dll嗎?
- 3. 我可以在SharePoint 2007中使用.NET 4嗎?
- 4. 我可以在「Delphi 2007 for Win32」中使用.NET DLL嗎?
- 5. 我們可以在沒有COM的.NET中使用TypeIdentifierAttribute嗎?
- 6. 我仍然可以在VisualStudio 2010中使用.NET Framework 1.1嗎?
- 7. 我可以在任何.NET客戶端中使用OperationContextScope嗎?
- 8. 我可以在.NET 4.0項目中使用System.Xml 2.0嗎?
- 9. 我可以在.NET 3.0中使用異步CTP嗎?
- 10. 我可以在.NET 4.0中使用FsXaml嗎?
- 11. 我可以在c#.NET中強制使用'this'關鍵字嗎?
- 12. 我可以在VS2008中使用.NET Framework 4.0嗎?
- 13. 我可以在Docker上使用Windows .Net應用程序嗎?
- 14. 我可以在2.0 NET解決方案中使用4.0 NET項目嗎?
- 15. 我可以在常規.NET項目中使用.NET Core編寫的Nuget包嗎?
- 16. 我可以在Linqpad中使用IronPython嗎?
- 17. 我可以在UIScrollView中使用UIRefreshControl嗎?
- 18. 我可以在iOS中使用system()嗎?
- 19. 我可以在async.parallel中使用async.waterfall嗎?
- 20. 我可以在Javascript中使用SendKeys嗎?
- 21. 我可以在PhoneGap中使用Mojo.Controller.showAlertDialog嗎?
- 22. 我可以在Phonegap中使用Cookie嗎?
- 23. 我可以在sp_msforeachdb中使用EF4嗎?
- 24. 我可以在NightWatchjs中使用ReportPortal嗎?
- 25. 我可以在HTML中使用resourcekey嗎?
- 26. 我可以在foreach中使用html.action嗎?
- 27. 我可以在MulticastDelegate中使用BeginInvoke嗎?
- 28. 我可以在SherlockFragmentActivity中使用NavigationView嗎?
- 29. 我可以在WCF中使用INotifyPropertyChanged嗎?
- 30. 我可以在cgo中使用C++嗎?
重新標記爲您 – 2008-09-30 00:32:03