bc忽略了比例选项

时间:2012-12-20 00:03:33

标签: linux bash bc

我无法弄清楚为什么bc工具有时会忽略缩放选项。

以下是一个例子:

> echo 'scale=2; 2.777 - 1.4744' | bc
1.3026

预期结果是:

1.30

其他信息:

> bash --version
GNU bash, version 2.05b.0(1)-release (x86_64-suse-linux)
Copyright (C) 2002 Free Software Foundation, Inc.
> bc --version
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.

2 个答案:

答案 0 :(得分:25)

卡尔指出,如果你查看手册页,就可以找到该行。这是关于表达的解释。减法不会读取scale变量。如果你想得到预期的结果(1.30),你可以:

kent$  echo 'scale=2; (2.777 - 1.4744)/1' | bc 
1.30

/操作会读取scale变量。

答案 1 :(得分:3)

来自bc(1) man page

  

除非特别提及,否则结果的比例最大    涉及的表达范围。

1.4744的比例为4,因此您的表达式会发生这种情况。