1234567891011121314151617181920212223242526272829 |
- # round.awk --- do normal rounding
- #
- # Arnold Robbins, arnold@skeeve.com, Public Domain
- # August, 1996
- function round(x, ival, aval, fraction)
- {
- ival = int(x) # integer part, int() truncates
- # see if fractional part
- if (ival == x) # no fraction
- return ival # ensure no decimals
- if (x < 0) {
- aval = -x # absolute value
- ival = int(aval)
- fraction = aval - ival
- if (fraction >= .5)
- return int(x) - 1 # -2.5 --> -3
- else
- return int(x) # -2.3 --> -2
- } else {
- fraction = x - ival
- if (fraction >= .5)
- return ival + 1
- else
- return ival
- }
- }
|