If I try your values I get what I expect:
SELECT (487-556)/556
Gives me 0 as it is integer arithmetic.
SELECT (487.0-556.0)/556.0
Gives me -0.1241 because it's floating point arithmetic.
Check your data sources and make sure the types are what you think they are.