
  input 1.01 = output 1


That implies using zero or one decimal places.


  input 1.748 = output 1.75


That implies adding .05 or possibly .005 and then using two decimal places.


  input 1.98 = output 2


This output could be described by either of the rules above.


  input 1.49 = output 1.5


That implies adding .05 or possibly .005 and then using one decimal place.


  input 20.0 = output 20


That implies using zero or one decimal places.

Your examples therefore aren't all instances of the same consistent rule. The only sense I can make of it is that you are only interested in a granularity of 0.25, but that's just my guess. You need to refine your requirement before you can possibly implement it.

How to remove the “ .0” in Decimal format and convert 1.01 to 1 in java
In Superman II, during the final battle between Superman, Zod, Ursa and Non (in the Fortress of Solitude), there was a part where they were disappearing and reappearing as false images (like holograms) to fool each other. Superman says to Lois that he used to play the game as a kid and that he never was very good at it. With whom did he play that would have had those powers? He came to Earth as an infant. Furthermore I don't buy that he was simply talking about hide and seek or some Earthly game. His statement that he was never good at it would not have made sense in that context. 
