summaryrefslogtreecommitdiff
path: root/decperc
diff options
context:
space:
mode:
authorfilip <“filip.rabiega@gmail.com”>2025-07-10 12:24:33 +0200
committerfilip <“filip.rabiega@gmail.com”>2025-07-10 12:24:33 +0200
commite4ea00cfc9fc7340c62dd920b4754787c4499de6 (patch)
tree2e4c036888529e99cd67a0ee59d9ac8bb5e09000 /decperc
parent1feb678fc3d52a7a3c4e31bb153783852fa08a58 (diff)
downloadchadscripts-e4ea00cfc9fc7340c62dd920b4754787c4499de6.tar.gz
chadscripts-e4ea00cfc9fc7340c62dd920b4754787c4499de6.tar.bz2
chadscripts-e4ea00cfc9fc7340c62dd920b4754787c4499de6.zip
new scripts i guessHEADmaster
Diffstat (limited to 'decperc')
-rwxr-xr-xdecperc30
1 files changed, 30 insertions, 0 deletions
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"