For your HP I think it just rounds to nearest. For formats that use the HP percentage mod, then for your opponent I think it's rounded up except between 99% and 100% which gets rounded down to 99%. For formats that use the pixel-based reporting then it estimates the percentage range anyway.How does PS round up? For example, if an attack makes 30.5% or 30.4, will PS say it made 31% or 30% respectively? It allways shows integer numbers (except for the hp of your pokemons). I mean, in the chat it says somthing like: The opposing Kyurem used Freeze-Dry! (Excadrill lost 79% of its health!).
PD: I know that it is based on how many pixels were used in the hp bar.