Next | 43 |
Here's how:
to_rational() { # Crapulent bash can't handle decimal numbers, so we will convert # the input number to a rational if [[ $1 =~ (.*)\.(.*) ]] ; then i_part=${BASH_REMATCH[1]} f_part=${BASH_REMATCH[2]} n="$i_part$f_part"; d=$(( 10 ** ${#f_part} )) else n=$1 d=1 fi }
For example, 2.45 results in n=245, d=100
Next | Copyright © 2011 M. J. Dominus |