diff options
Diffstat (limited to 'calc')
-rwxr-xr-x | calc | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# Simple calculator +result="" +result="$(printf "scale=10;$*\n" | bc --mathlib | tr -d '\\\n')" +# └─ default (when `--mathlib` is used) is 20 +# +if [[ "$result" == *.* ]]; then + # improve the output for decimal numbers + printf "$result" | + sed -e 's/^\./0./' `# add "0" for cases like ".5"` \ + -e 's/^-\./-0./' `# add "0" for cases like "-.5"`\ + -e 's/0*$//;s/\.$//' # remove trailing zeros +else + printf "$result" +fi +printf "\n" |