From e4ea00cfc9fc7340c62dd920b4754787c4499de6 Mon Sep 17 00:00:00 2001 From: filip <“filip.rabiega@gmail.com”> Date: Thu, 10 Jul 2025 12:24:33 +0200 Subject: new scripts i guess --- decperc | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 decperc (limited to 'decperc') diff --git a/decperc b/decperc new file mode 100755 index 0000000..a19ed95 --- /dev/null +++ b/decperc @@ -0,0 +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 +} + +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" -- cgit v1.2.3