Roc*_*uts 5 regex floating-point bash sed
我试图从浮点数中删除尾随的十进制零,但到目前为止没有运气.
echo "3/2" | bc -l | sed s/0\{1,\}\$//
1.50000000000000000000
Run Code Online (Sandbox Code Playgroud)
我希望得到,1.5但不知何故尾随零不被截断.如果不是0\{1,\}我明确地写0或000000等,它会按输入的顺序排除零,但显然我需要它是动态的.
怎么了0\{1,\}?
fed*_*qui 10
你为什么不设置你想要的位数scale?
$ echo "scale=1; 3/2" | bc -l
1.5
$ echo "scale=2; 3/2" | bc -l
1.50
$ echo "scale=5; 3/2" | bc -l
1.50000
Run Code Online (Sandbox Code Playgroud)
我建议您通过man bc,因为它包含许多有趣的方式来呈现您的结果.
Ner*_*elu 10
echo "3/2" | bc -l | sed '/\./ s/\.\{0,1\}0\{1,\}$//'
Run Code Online (Sandbox Code Playgroud)
$ 不得转义并引用sed模式:
echo "3/2" | bc -l | sed 's/0\{1,\}$//'
1.5
Run Code Online (Sandbox Code Playgroud)