2013-04-03 1 views

ответ

7

Попробуйте это (легко повторно использовать, вам просто нужно помнить, чтобы присоединяет выражение математики с scale=N):

$ echo "scale=10; $a1 * 100/$a2" | bc 
2.8415300546 

Как вы можете видеть, вы можете указать длину шкалы, как вы хотите.

См

man bc | less +/^' *scale \(\s*exp 
0

Вы можете использовать AWK для лучшей арифметики:

awk -v a1=260 -v a2=9150 'BEGIN{printf("%.4f\n", (a1 * 100/a2))}' 

выход: 2,8415

+3

каким образом это лучше выглядит более сложным – user568109

+0

@ user568109: Я просто имел в виду AWK обеспечивает более арифметических возможностей, чем стандартный Баш КСТАТИ, часть которого ищет сложным для вас? – anubhava

+1

вы можете сделать это с помощью bc легко и OP не просил awk – user568109

3

Вы можете загрузить математическую библиотеку: Ьс -l

#! /bin/sh 
a1=260 
a2=9150 
echo "$a1 * 100/$a2" | bc -l 

выход

2.84153005464480874316 
Смежные вопросы