What do these numbers represent? Your rounding rules seem utterly arbitrary, rounding 0.0205511 to 0.02 introduces an error of 2.8% and preserves only one significant digit, 8.8458e-119 to 8.84e-119 keeps three significant digits (and has an error of only 0.66%), and it's truncating, not rounding.
Simply chopping digits off numbers is usually a bad idea, because it distorts their meaning.
Anyway, for formatting you can use printf or sprintf, which you can use to for example to show the first three significant digits.
Perl 6 - links to (nearly) everything that is Perl 6.