Floating Point in Bash Shell
Posted on In LinuxIntegers are natively supported in Bash shell. However, what if we use floating point in Bash shell?
The short and direct answer is using ‘bc‘ command – “An arbitrary precision calculator language.”
Just run bc and enter some floating point calculation expression, such as “1.2+8.2”, bc will give the result.
In a script, we certainly need a more automatic way. This is a piece of simple script:
$ echo "scale=4; $*" | bc -q
For example, to calculate “1.2+8.2”
$ echo "scale=4; 1.2+8.2" | bc -q
and you will get 9.4 .
“By default bc outputs its result with no digits to the right of the decimal point and without a decimal point. To change this you have to change one of bc‘s builtin variables: scale. This is where the “language” features of bc are relevant, in bc as in C statements are separated by semi-colons.”
For more detailed tutorial on bc, I suggest: Floating Point Math in Bash by Mitch Frazier.