Вот чисто bc-решение. Правила округления: при +/- 0,5, округлите от нуля.
Поместите масштаб, который вы ищете, в $ result_scale; ваша математика должна быть там, где $ MATH находится в списке команд bc:
bc <<MATH
h=0
scale=0
/* the magnitude of the result scale */
t=(10 ^ $result_scale)
/* work with an extra digit */
scale=$result_scale + 1
/* your math into var: m */
m=($MATH)
/* rounding and output */
if (m < 0) h=-0.5
if (m > 0) h=0.5
a=(m * t + h)
scale=$result_scale
a / t
MATH