I am a new bash
learner. I want to print the result of an expression given as input having 3 digits
after decimal point with rounding if needed.
I can use the following code, but it does not round. Say if I give 5+50*3/20 + (19*2)/7
as input for the following code, the given output is 17.928
. Actual result is 17.92857...
. So, it is truncating instead of rounding. I want to round it, that means the output should be 17.929
. My code:
read a
echo "scale = 3; $a" | bc -l
Equivalent C++
code can be(in main
function):
float a = 5+50*3.0/20.0 + (19*2.0)/7.0;
cout<<setprecision(3)<<fixed<<a<<endl;
echo "scale = 3; $a / 1" | bc -l
– Precautionary