diff options
Diffstat (limited to 'decperc')
-rwxr-xr-x | decperc | 46 |
1 files changed, 23 insertions, 23 deletions
@@ -1,30 +1,30 @@ #!/usr/bin/zsh -dec_into_perc () { - dec="$1" - # duplicating code, don't care - if echo "$dec" | grep -qE '^(-?[0-9]+\.[0-9]+|-?[0-9]|\.[0-9]+)$'; then - percent="$( echo "$dec * 100" | bc -l )" - echo "${percent}%" - else - echo "Error: not a decimal number" >&2 - exit 1 - fi +dec_into_perc() { + dec="$1" + # duplicating code, don't care + if echo "$dec" | grep -qE '^(-?[0-9]+\.[0-9]+|-?[0-9]|\.[0-9]+)$'; then + percent="$(echo "$dec * 100" | bc -l)" + echo "${percent}%" + else + echo "Error: not a decimal number" >&2 + exit 1 + fi } -perc_into_dec () { - perc="$1" - # duplicating code, don't care - if echo "$perc" | grep -qE '^(-?[0-9]+\.[0-9]+%|-?[0-9]+%|\.[0-9]+%)$'; then - dec="{$perc%?}" - dec="$( echo "$dec / 100" | bc -l )" - echo "$dec" - else - echo "Error: not a percent" >&2 - exit 1 - fi +perc_into_dec() { + perc="$1" + # duplicating code, don't care + if echo "$perc" | grep -qE '^(-?[0-9]+\.[0-9]+%|-?[0-9]+%|\.[0-9]+%)$'; then + dec="{$perc%?}" + dec="$(echo "$dec / 100" | bc -l)" + echo "$dec" + else + echo "Error: not a percent" >&2 + exit 1 + fi } echo "$1" | grep -qE '^(-?[0-9]+\.[0-9]+|-?[0-9]|\.[0-9]+|-?[0-9]+\.[0-9]+%|-?[0-9]+%|\.[0-9]+%)$' && - len=${#1} && - [[ "${1:len-1:1}" == "%" ]] && perc_into_dec "$1" || dec_into_perc "$1" + len=${#1} && + [[ "${1:len-1:1}" == "%" ]] && perc_into_dec "$1" || dec_into_perc "$1" |