输出

输出

我在 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

相关内容