如何使用 bc(基准计算器)进行除法并获得分数结果?

use*_*001 11 linux bc

bc
1/2
0

5/3
1

10/3
3
Run Code Online (Sandbox Code Playgroud)

将分数输入到 中时bc,结果将被截断为整数。如何避免这种行为,使得除法运算的输出是实数?

dax*_*rod 13

尝试类似的东西 scale=2

手册页

规模(表达)

scale 函数的值是表达式中小数点后的位数。

默认情况下,比例为 0,因此不显示小数点后的数字。


Ail*_*rus 13

只需bc使用-l参数调用:

bc -l
Run Code Online (Sandbox Code Playgroud)

例子:

$ bc -l
1/2
.50000000000000000000
5/3
1.66666666666666666666
10/3
3.33333333333333333333
Run Code Online (Sandbox Code Playgroud)


Pau*_*aul 6

使用scale特殊变量来定义小数位:

scale=4
1/2
.5000
Run Code Online (Sandbox Code Playgroud)