如何在Bash中执行小数乘法并将对应计算结果按单行输出
解决方案
你当前输出拆分多行的原因是后两次echo命令默认会在输出末尾追加换行符,将两个计算结果分别换到了新行。你可以通过命令替换先拿到两次运算的结果,再合并到同一句输出语句打印即可:
for i in 0.99 0.98 do # 先计算两个乘法结果 mul1=$(echo "$i * 0.002" | bc) mul2=$(echo "$i * 10.234" | bc) # 一次性打印三个值,只追加一次换行 echo "$i $mul1 $mul2" done
如果需要更简洁的单行写法,可以直接嵌套命令替换:
for i in 0.99 0.98; do echo "$i $(echo "$i*0.002"|bc) $(echo "$i*10.234"|bc)"; done
以上两种写法运行后都会输出你期望的两行结果:
0.99 .001 10.131 0.98 .001 10.029
内容的提问来源于stack exchange,提问作者Megan
相关产品推荐
相关产品推荐

