z=0000000000 read while IFS=. read a b do $b$z $[c+=a,d+=${a//[0-9]}10#${_::10}] $[s={-,}1,c+=s*=d*s>=(c*s<0?1:1$z),d-=1$z*s] done s=$[!c&&d<0?-1:1] $z${d/-} echo ${s/1}$c.${_:${#_}-10}