имеет три значения a, b, c с типом данных Decimal(15,7)
.
a
- это сумма значений b
и c
.
Я не получилчто случилось.Какой возможный способ получить правильный результат после округления?
Например:
Declare @a decimal(15,7),
@b decimal(15,7),
@c decimal(15,7)
SET @a = '15212.82856500000'
SET @b = '15207.52909500000'
SET @c = '5.29947000000'
В приведенных выше условиях он возвращает правильный результат
select @a, @b + @c
Но я использовалокругление 3 до всех значений возвращает неверный результат.
select ROUND(@a, 3), ROUND(@b, 3) + ROUND(@c, 3)
Ожидаемый результат
ROUND(@a, 3) = ROUND(@b, 3) + ROUND(@c, 3)