看起来bc不支持浮点操作。当我做echo 1/8 | bc时,它会给我一个0。我检查了手册页bc (1),但它甚至没有提到float,所以我想知道它是否被支持?
发布于 2013-03-04 02:25:23
bc不做浮点数,但它确实做固定精度的十进制数。-l标志豪克提到加载一个数学库的例子。trig函数但它也意味着
...默认刻度是20
scale是手册页中提到的许多“特殊变量”之一。你可以设置它:
scale=4任何时候都可以(无论是否使用-l )。它指的是小数点中使用的有效数字数。换句话说,后续的解决方案将被舍入到十进制后的数字数(==固定精度)。
默认的scale sans -l为0,意为整数的四舍五入(向下)。
发布于 2013-03-04 02:17:10
手册页说:
如果使用-l选项调用bc,则预加载数学库...。
它的可理解性可以提高,确实.
发布于 2020-08-27 01:50:13
奇怪的是,在我的bc版本中,带有小数的产品会产生小数,但除法会被打乱,而不是四舍五入:
> bc --version
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
> echo "3 * .35" | bc
1.05
> echo "3 / .35" | bc # 8.57...
8https://unix.stackexchange.com/questions/66766
复制相似问题