我正在使用bc和scale来评估表达式,但是我希望它能够向上舍入而不是向下舍入。最简单的方法是什么?
$ read exp
5+50*3/20 + (19*2)/7
$ echo "scale=3; $exp" | bc -l
17.928
但我想要的答案是17.929
我更喜欢将答案作为答案的附录而不是不同的答案。感谢
以下是我尝试过的一些事情:
$ echo "scale=4; ($exp+0.0005)" | bc -l
17.9290
$ echo "scale=3; ($exp+0.0005)" | bc -l
17.9285
但是我希望17.929
作为答案,最后没有归零。
答案 0 :(得分:3)
使用scaling factor
printf
3
scaling factor
bc
4
作为0.0005
并添加printf "%.3f\n" $( echo "scale=4; $exp+0.0005" | bc -l )
来解决此问题表达式:
coords=SkyCoord(coords.ra.reshape(y.shape),coords.dec.reshape(y.shape))