浮点运算 let 和 expr 都无法进行浮点运算,但是 bc 和 awk 可以。
范例:求 1 除以 13,保留 3 位有效数字 $ echo "scale=3; 1/13" | bc .076 $ echo "1 13" | awk '{printf("%0.3fn",$1/$2)}' 0.077 说明: bc 在进行浮点运算时需指定精度,否则默认为 0,即进行浮点运算时,默认结果只保留整数。而 awk 在控制小数位数时非常灵活,仅仅通过 printf 的格式控制就可以实现。
补充:在用 bc 进行运算时,如果不用 scale 指定精度,而在 bc 后加上 -l 选项,也可以进行浮点运算,只不过这时的默认精度是 20 位。例如: $ echo 1/13100 | bc -l .00007633587786259541