Следующая формула должна вернуть ожидаемый результат:
If {Table.discountpercent} = Round({Table.discountpercent}, 0) Then
ToText({Table.discountpercent}, 0)
Else
ToText({Table.discountpercent}, 2)
Проверяется, равен ли discountpercent
discountpercent
с округлением до 0 десятичных дробей.
Если да, отформатируйте с 0 десятичных знаков, если нет, отформатируйте с 2 десятичных знаков.