Sounds like a bacterial problem causing gas.
My advice (which worked for one of mine with the same problem) is to put him in the fridge.
Make sure the water is high enough to cover his back, but shallow enough so his feet can be on the floor at all times.
Floating about can be stressful, as you can imagine.
Give him three days like this (remembering to do a dechlor full waterchange every day), and try feeding him a VERY small amount every 4-5 hours.
If he refuses it after 15 mins, remove it and try again later.
If he's still refusing next day, try a live bloodworm or two. When he accepts that, use a dropper to hide a live one in a small amount of normal foods - he should scarf it all in attempt to get to the wiggly exciting thing.
When he's eating better, on the fifth day, bring the level of water up, and see if he's staying down.
If he is, he should be good to put in quarantine for 30 days, then return back into the main tank.
If not, give him a few more days chill, and feed him a little every day.
Should be back on his feet in no time.
My baby Ari was the same, on his back - it was due to malnutrition and bacterial issues as I say. Sadly Ari was too far gone to save, and died three weeks later from organ failure/shutdown, but that's due to starvation with his previous owners rather than the floating. When a 'loti has been that badly feed for so long, they start to switch off.
The important bit was he was back on his feet and eating well again.
I'm not at all suggesting you're looking after him badly - these things happen sometimes.
Good luck, and keep us informed.