Volle Genauigkeit der Ausgabe von Gleitkomma-Datentypen in SQL Server Management Studio

Habe ich den Wert 1555.4899999999998 gespeichert float Spalte mit Standard-Genauigkeit (53). Wenn ich eine einfache select, SSMS Runden die Ausgabe anstatt Druck mit allen zur Verfügung stehenden Präzision. Es verursacht einige Probleme für mich vor kurzem, da der Wert gedruckt, nicht wie ein float wörtliche übereinstimmung der tatsächlich gespeicherten Wert.

Beispiel (beachten Sie, dass diese beiden zahlen haben eine exakte Darstellung in der Standard -float),

declare @f1 float
declare @f2 float
set @f1 = 1555.49
set @f2 = 1555.4899999999998
select @f1, @f2
select STR(@f1,30,15), STR(@f2,30,15)

Ausgänge:

1555.49 1555.49
1555.490000000000000    1555.489999999999800

In Query Analyzer, das erste select Ausgänge:

1555.49 1555.4899999999998

Das ist das Verhalten, das ich will, um von Management Studio. Gibt es eine Möglichkeit zu verhindern, dass SSMS durch Rundung in dessen Ergebnis anzeigen?

InformationsquelleAutor Simon | 2011-11-11
Schreibe einen Kommentar