sub incdec { $number = shift; # do something if not /^\d*\.\d+$/ return $number+1 if $number =~ /^\d+$/; $number =~ /\.(\d+)$/; return $number + ("1E-".length($1); } for $n (1, .004, 1.99, 1.79, 1.009999) { print "$n++ = ".incdec($n)."\n"; }
gives:
1++ = 2 0.004++ = 0.005 1.99++ = 2 1.79++ = 1.8 1.009999++ = 1.01
Update: use E notation
--
Steve Marvell
In reply to Re: How do you ++ a fraction?
by marvell
in thread Round a fraction
by fglock
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |