Dezimal vs Doppelte Geschwindigkeit

Ich Schreibe Finanz-Anwendungen, wo ich ständig Kampf die Entscheidung zum Einsatz eines Doppel-vs mit einem Dezimalkomma.

Alle meine Mathe-arbeiten auf zahlen mit nicht mehr als 5 Nachkommastellen und sind nicht größer als ~100.000 Euro. Ich habe das Gefühl, dass alle diese dargestellt werden kann, wie doubles sowieso ohne Rundungsfehler, war aber nie sicher.

Ich würde voran gehen und den Schalter von Dezimalstellen, die verdoppelt für die offensichtliche speed-Vorteil, außer, dass am Ende des Tages, ich benutze immer noch die ToString-Methode zu übermitteln, die Preise auf Börsen, und müssen sicherstellen, dass Sie immer die Ausgänge der Zahl, die ich erwarte. (89.99 statt 89.99000000001)

Fragen:

  1. Ist der Geschwindigkeitsvorteil wirklich so groß wie naiv tests vorschlagen? (~100 mal)
  2. Gibt es eine Möglichkeit zu garantieren, die Ausgabe von ToString zu werden, was ich will? Ist dies gewährleistet durch die Tatsache, dass meine Nummer ist immer darstellbar?

UPDATE: ich habe zu verarbeiten ~ 10 Milliarden Preis-updates, bevor Sie die app ausführen können, und das habe ich umgesetzt mit dezimal-jetzt für die offensichtliche Schutz-Gründen, aber es dauert ~3 Stunden, nur um zu schalten, Doppel, dramatisch reduzieren meine wiederum auf Zeit. Gibt es einen sicheren Weg, es zu tun mit verdoppelt?

InformationsquelleAutor der Frage Superman | 2008-11-30

Schreibe einen Kommentar