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;

```