Meine Datenbank enthält Kraftstoffeinheit Preise, die in der Regel mit einem Bruchteil Penny-Wert, wie $ 2.099 pro Gallone enden. Ich verwende den integrierten Aufruf FORMAT
, um das Gebietsschema anzugeben. Dies erlaubt mir keine Währungsformatierung mit mehr als 2 Dezimalstellen. Gibt es eine Möglichkeit, dies zu überschreiben? Oder stehe ich fest, einige benutzerdefinierte Formatierung basierend auf vielen vielen möglichen Gebietsschemata zu tun?Geben Sie die Dezimalstellen für Währung in FORMAT Anruf
Betrachten Sie dieses Beispiel:
DECLARE @fuelPrice FLOAT = 2.099
SELECT FORMAT(@fuelPrice, 'G', 'en-US') AS 'NoDollarSign'
,FORMAT(@fuelPrice, 'C', 'en-US') AS 'WrongDecimalPlaces'
,'$2.099' as 'WhatIWant'
die Ausgänge:
NoDollarSign WrongDecimalPlaces WhatIWant
2.099 $2.10 $2.099
In meinem eigentlichen Code, ist das Gebietsschema nicht immer 'en-US' so hart Codierung eines' $ 'ist keine Option. Es müsste das Währungssymbol des Gebietsschemas reflektieren, das manchmal nach dem Dezimalwert angezeigt wird. – djs