are you getting the 0St 0lb(s) in C2 when there is a number of lbs in B2, or is B2 empty?
If it's empty then the result you're getting is what I'd expect. We can get rid of it with an "if" function if needed.
With regard to the decimal places I'm a little stumped. Both the INT and MOD functions work with whole numbers, (by definition), and I don't see it as a formatting issue as the "St" and "lb(s)" will effectively force the cell to not be a number.
Can you clarify, exactly, where the decimal is showing?