2009-03-10 21 views
0

Ich arbeite an einer Java-Anwendung, verwenden Sie doppelte Art, um Wert von UnitPrice, Qty usw. zu speichernIch fand einige dieser Werte in MSSQL anzeigen sind NAN und wirft unendlichen Fehler, wenn ich es versuche um es wiederzuverwenden.Dies ist so unvernünftig, ich kann es speichern, kann es aber nicht mehr verwenden! Ich denke, dass der NAN-Wert in MSSQL gültig sein muss, wenn er zum ersten Mal in Java ist. So kann ich sparen. Wann und wann?NaN-Wert im Float-Feld in MSSQL

Antwort

3

Sie sollten nie verwenden doppelte oder float, um Preise zu speichern. Verwenden Sie stattdessen Dezimal. Double und Float Datentypen sind nicht wirklich präzise.

Die Datentypen FLOAT und REAL sind beide ungefähre Datentypen für numerische Gleitkommadaten. Fließkommadaten sind ungefähre Angaben; Nicht alle Werte im Datentypbereich können genau dargestellt werden.

1

NaN-Werte sind oft das Ergebnis einer Division durch Null - das wäre das erste, wonach ich suchen würde.