What's wrong with traditional rounding?
my $c = 786733;
my $rounded = 100 * int(($c+ 50) / 100);
Update
If you are looking to always skip to the next 100 then change the 50 to 100. If you want to round up except if it is already divisible by 100, then add 99. For example:
my $c = 786001;
print 100 * int(($c + 99) / 100);