【发布时间】:2013-01-19 01:31:36
【问题描述】:
您好,我正在尝试使用以下代码生成浮点精度
让 number1=0 number2=0 operator=+
printf "%0.2f\n" result=$(( number1 $operator number2 ))
代码在没有 printf 的情况下工作,但我不知道如何执行负 (-) 计算和浮点数?
【问题讨论】:
-
bash 变量是整数。 ksh 可以使用扩展为
typeset -lE的float别名声明浮点数。最好使用awk,因为它自然支持浮点数,或者如果你真的必须拥有bash,你可以将你的计算传递给bc(这是一个外部过程,在典型的循环结构中执行起来非常昂贵) ,但在此处搜索示例。如果您花时间阅读stackoverflow.com/faq,您将获得更好的帮助。如需 awk 帮助,请阅读 grymoire.com/Unix/Awk.html。祝你好运。