我有一个变量 a=1.349804687500000093e-02。我希望 a 的精度为 5 位。我尝试使用以下命令,该命令按我想要的方式打印变量,但不会保存它。
a=1.349804687500000093e-02
b= | python -c "print round($a, 7)"
### result
0.0135
#### it does not give anything when print b
echo $b
######
答案1
这里不需要像 Python 这样的高级语言:bash shell 内置printf
可以进行十进制格式转换
$ a=1.349804687500000093e-02
$ printf -v b '%.5f\n' $a
$ echo $b
0.01350
如果你做过想要使用 python 命令,你需要的语法是命令替换 $(command)
:
$ b=$(python -c "print round($a,7)")
$ echo $b
0.013498