如何仅在必要时输出正确的浮点数
E.g.
---------
input: 1.5
output: 1.5
--------
input: 1
output: 1(but not 1.0)
--------
我认为这只是bash的一个简单问题,但我无法找到解决方法。
代码:
printf "%.1f" `echo "scale=1;3/2;"|bc`
printf "%.1f" `echo "scale=1;1;"|bc`
答案 0 :(得分:0)
bc scale=1;
按预期工作,只是不使用printf"%。1f"格式为十进制数,十进制后带有1个固定数字。
否则,如果变量包含带0的数字,则使用bash扩展和选项extglob
进行修剪:
shopt -s extglob
x=1.0
echo "${x%%?(.)*(0)}"