У меня есть требование, согласно которому значение суммы должно быть округлено с точностью до 5 центов до 2 десятичных разрядов.
Example:
255.263745 to 255.25 -- 26 taken to 25
57.2115 to 57.20 -- 21 taken to 20
100.75586 to 100.75
Я пробовал следующие способы, но не смог получить желаемый результат.
select (RIGHT('00000000'+LEFT( CAST(CAST( ISNULL(198.85,0)*ISNULL(128.370,0) AS DECIMAL( 15,0)) AS VARCHAR( 15 )), 8 ), 8 ))
select CEILING(((ISNULL(198.85,0) * (ISNULL(128.370,0)/100)))/.05) *.05
Рабочий образец:
SELECT REPLACE(FORMAT(CAST(ROUND(((ISNULL(198.85,0) * (ISNULL(128.370,0)/100)/05)),2)*05 AS DECIMAL(10,2)),'000000.00'),'.','') AS [Actual Amount]
Выход: 00025525