I can't get my mistake in this command:
a=2
b=5
c=3
printf "%.2f\t" "'$a'+'$c'*'$b'" > ofile.txt
I am getting the value as 50.00. But I should get it 17.00.
How to do this when a, b, c are floating values? e.g. a=2.4, b=5.1 and c=3.2
Your 2nd argument to printf is interpreted as the string '2', which has an ascii value of 50. If you want to do arithmetic, use arithmetic evaluation in bash:
printf "%.2f\t" "$((a+b*c))" > ofile.txt
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With