A dirty hack for small values and a limited precision without using bc would be, to multiply the nominator before division, to get an accurate result.
Example without precision:
echo $((13/7))
1
and with 2 digits precision: multiply by 100 and move the decimal point 2 steps to the left:
echo $((100*13/7)) | sed 's/..$/.&/'
1.85
echo $((100*13/7))%
185%
This is only useful if the range of numbers is known before, and the precision is always the same. Avoiding to call bc, and calling sed seems not very reasonable.
Note, that multiplying the values might lead to overflow errors, but not very early:
echo $((1000000000*12345678901))
-6101065172709551616