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
printf "%.2f\t" "$(($a+$b*$c))" > yourname.txt
Copyright © 2021 Jogjafile Inc.
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: