The Garmin 305 does it all. It also deeps me honest.
I blew up on a hill this weekend that I might have told you was a 30% grade and 400 feet of climbing.
I measured it out on the garmin: 125 feet gain with max grade of 13.5%, which is bad enough, but not so bad that I shouldn't be able to go back and make it up next time (hill repeats, here I come).