perda de escala ao executar o cálculo
Estou realizando um cálculo e não recebo a resposta que espero. Perco alguma escala ao fazer o cálculo.
Calc é: 651/1000 * -413.72063274 = -269.33213191 (para 8 d.p)
No SQL Server, faço isso:
declare @var numeric(28,8)
declare @a numeric(28,8)
declare @b numeric(28,8)
set @var = -413.72063274
set @a = 651.00000000
set @b = 1000.00000000
select CAST((@a/@b) * @var as numeric(28,8)) as result_1
, CAST(CAST(@a as numeric(28,8))
/CAST(@b as numeric(28,8)) as numeric(28,8))
*CAST(@var as numeric (28,8)) as result_2
Os resultados são
result_1: -269.33213200 (correto para 6dp)
result_2: -269.332132 (correto para 6dp)
Como obtenho a consulta retornada: -269.33213191 (correto para 8dp)?