Ist es möglich, system.currency zu verwenden. Es besagt, dass system.currency aufgrund seines Schutzlevels nicht erreichbar ist. Was ist die Alternative der Währung?Kann ich "System.Currency" in .NET verwenden?
Antwort
Sie haben Decimal Datentyp verwenden ..
Das Dezimal-Schlüsselwort gibt einen 128-Bit-Datentyp. Im Vergleich zu Gleitkommatypen hat der Dezimaltyp eine höhere Genauigkeit und einen kleineren Bereich, was ihn für finanzielle und monetäre Berechnungen geeignet macht.
Sie wissen, es ist nicht „mehr Präzision“, die wichtig ist, es ist die Art der Präzision. Dezimal basiert auf einer 10-Basen-Skala und wird immer genau eine Dezimalzahl innerhalb des Bereichs darstellen. Floats-Typen basieren jedoch auf einer binären Skala und beschreiben möglicherweise einen Bruchteil, der nicht Teil der Basis 10 – nedruod
Es kann durch Reflexion, sondern die Gründe möglich sein, dass es gibt es für FromOACurrency()
und ToOACurrency()
statische Methoden auf System.Decimal
, die für convering vom/zum Ole Automation Currency
Art ist, dass Visual Basic 6 Anwendungen.
Verwenden Sie Dezimal. Alle von Currency bereitgestellten Funktionen sind statische Methoden für Decimal, FromOACurrency und ToOACurrency.
Sie können Decimal nicht für Währung verwenden. Sie werden später größere Probleme haben, wenn Sie sich teilen. Sagen Sie, wenn Sie $ 1 in 3 geteilt haben, was 1/3 = 0,33 (gerundet) ist, aber 3 x 0,33 = 0,99! = 1. Es könnte klein sein, aber wenn Sie das in Buchhaltung tun und Ihre Blätter stapeln, wird es sein eine riesige Figur. Das ist auch der Grund, warum das Standard-Auf-/Ab-Verhalten in .Net (nicht sicher über andere Programmiersprachen) auf den nächsten geraden Wert, auch Banker-Runden genannt, hinweist, um Fehler in der Buchhaltung im Vergleich zu unserer normalen "menschlichen" Art der Rundung zu minimieren.
Lesen Sie diese Seite für eine klarere Erklärung und eine besondere Klasse für den Umgang mit Geld. Code Project : A Money type for the CLR
auch über Rounding
-1 ist, weil diese Antwort irreführend ist. Dezimal ist ein Datentyp, der speziell dafür entwickelt wurde, Geld korrekt zu speichern. Berechnungen durchzuführen ist eine andere Art von Problem und hängt vom Kontext ab: Wenn Sie Geld zu gleichen Teilen teilen möchten, ohne Geld zu verlieren, sollten Sie eine dedizierte Funktion/Methode/Klasse verwenden, die dies richtig macht (siehe http: // martinfowler .com/eaaCatalog/money.html). Der genannte Artikel auf Code Project basiert auf einigen ungültigen Annahmen: nicht zu verstehen, dass Dezimal als Basis 10 gespeichert ist, testen, die auch mit Dezimal erfolgreich sind, aber davon ausgeht, dass sie fehlschlagen werden. –
- 1. Wie kann ich .NET Framework 4.5 in Unity 5 verwenden
- 2. Kann ich verwenden, Net Dll in Android-Anwendung
- 3. Wie kann ich einen Scanner in .NET verwenden?
- 4. Wie kann ich eine Zeichenfolge in .NET in .NET konvertieren?
- 5. Kann ich eine Windows .Net App mit Docker verwenden?
- 6. kann ich .NET Framework 4.0 mit VS2008 verwenden?
- 7. Welche dynamische Sprache kann ich für .NET-Komponententests verwenden?
- 8. Kann ich .net 4.0 beta ohne vs2010 verwenden?
- 9. Wie kann ich .NET-Webdienste von nicht standardmäßigen Ports verwenden?
- 10. Kann ich .net mit Microsoft Dynamics-Systemen verwenden?
- 11. Kann ich net.tcp-Bindungen für protobuf-net WCF verwenden?
- 12. Kann ich .Net Sprachen für iPhone App Entwicklung verwenden?
- 13. Kann ich Visual Studio Community 2015 ohne .NET verwenden?
- 14. Wie kann ich .NET-Objekte aus Excel VBA verwenden?
- 15. Kann ich dapper-dot-net mit Entity Framework verwenden?
- 16. Kann ich ASP.NET Core Targeting nur für .NET 4.6.1 verwenden?
- 17. Kann das .NET WebBrowser-Steuerelement IE9 verwenden?
- 18. Wie kann ich Zeichenketten in .net auflösen?
- 19. Wie kann ich Winforms in .NET automatisieren?
- 20. Kann ich in .NET Systemfokusereignisse (C#) erkennen?
- 21. Wie kann ich die .NET 2.0 XSLT-Engine aus einer .NET 1.1-Anwendung verwenden?
- 22. Wie kann ich AutoFac in EndRequest verwenden?
- 23. Welche .net Diagrammbibliothek sollte ich verwenden?
- 24. Kann keine .NET-Methoden in deployed Matlab dll verwenden
- 25. Kann DLL in .NET eine andere Erweiterung verwenden, z. MLL?
- 26. Kann Datenanmerkungen in .net Kern 1.0 nicht verwenden
- 27. Sollte ich die Debug-Klasse in .net verwenden?
- 28. Wie kann ich dieselbe Variable Session in zwei verschiedenen Solution in .Net 4.5 verwenden?
- 29. Kann ich Autorisierungsrichtlinien in einer Ansicht in .NET Core 1.0 MVC verwenden?
- 30. Wie kann ich Environment.newLine für Newtonsoft.Json.Compact verwenden?
Retagged für Sie –