0
在GNU bc中,我可以使用print
语句打印一个值。根据值和其他参数,实际上会打印更多或更少的字符。如何确定将要打印的字符数量,以便我可以在精美的列中打印数字表格?如何计算打印语句中数字的位数?
在GNU bc中,我可以使用print
语句打印一个值。根据值和其他参数,实际上会打印更多或更少的字符。如何确定将要打印的字符数量,以便我可以在精美的列中打印数字表格?如何计算打印语句中数字的位数?
您可以使用特殊变量scale
来控制打印字符的数量,该变量确定小数点后的位数–,但它仅更改计算后存储的位数。例如:
scale = 3
var = 0.12345
var /* Still shows five digits */
.12345
var/1 /* Now just three digits */
.123
但至少它不只是截断,而且还添加填充:
var = 0.12
var
.12
var/1
.120
如果你想在脚本中使用它,你可能想分配输出除以一个变量本身:
var /= var/1
print var
对于什么比这更精致,我会分配BC的输出shell变量和我们格式化为e printf
。