我在 AIX 7.1 上有一个解决方案,我可以回显奇数并打印下一个偶数,例如下面的:
$ echo "3" | bc -l | awk '{printf("%.0f\n", $1)}' | awk '{$0=int($0/4+.75)*4}1'
4
$ echo "9" | bc -l | awk '{printf("%.0f\n", $1)}' | awk '{$0=int($0/4+.75)*4}1'
12
我面临的问题是,当数字超过一百万时,它开始给我如下值:
$ echo "1000009" | bc -l | awk '{printf("%.0f\n", $1)}' | awk '{$0=int($0/4+.75)*4}1'
1.00001e+06
我应该得到的是 1000012。它给我的下一个偶数是无关紧要的。只要是偶数就可以。我不确定这是否是我正在测试的 HP-UX B.11.31 中的限制。
有没有办法避免出现这样的结果?
答案1
N=1000009
echo "${N:-3} 3+4/4*p" | dc
输出
1000012