g_num_valid_number function

This commit is contained in:
olli 2023-10-27 11:59:43 +02:00
parent 70ed81ce91
commit f80547832f
5 changed files with 20 additions and 27 deletions

View File

@ -22,6 +22,7 @@ function analyze {
. dabo/functions/g_num_is_approx.sh
. dabo/functions/g_num_is_between.sh
. dabo/functions/g_num_is_higher.sh
. dabo/functions/g_num_valid_number.sh
. dabo/dabo-bot.conf
. dabo-bot.conf
. analyze.conf

View File

@ -7,14 +7,8 @@ function g_num_is_approx {
local f_percentage_down=$4
# Check for valid decimal number
for f_numtest in "${f_num}" "${f_base}" "${f_percentage_up}" "${f_percentage_down}"
do
if ! [[ ${f_numtest} =~ ^(-)?[0-9]+(\.[0-9]+)?$ ]]
then
g_echo "\"${f_numtest}\"Not a valid number"
return 1
fi
done
g_num_valid_number "${f_num}" "${f_base}" "${f_percentage_up}" "${f_percentage_down}" || return 1
local f_from=$(echo "${f_base} - (${f_base} / 100 * ${f_percentage_down})" | bc -l)
local f_to=$(echo "${f_base} + (${f_base} / 100 * ${f_percentage_up})" | bc -l)

View File

@ -25,16 +25,9 @@ function g_num_is_between {
fi
fi
# Check for valid decimal number
for f_numtest in "$f_num" "$f_between1" "$f_between2"
do
if ! [[ ${f_numtest} =~ ^(-)?[0-9]+(\.[0-9]+)?$ ]]
then
g_echo "\"${f_numtest}\"Not a valid number"
return 1
fi
done
# Check for valid number
g_num_valid_number "$f_num" "$f_between1" "$f_between2" || return 1
# Check which is the low (from) and the high (to) number
if [ $(echo "${f_between1} < ${f_between2}" | bc -l) -ne 0 ]
then

View File

@ -15,15 +15,8 @@ function g_num_is_higher {
fi
fi
# Check for valid decimal number
for f_numtest in "$f_num" "$f_checkhigher"
do
if ! [[ ${f_numtest} =~ ^(-)?[0-9]+(\.[0-9]+)?$ ]]
then
g_echo "\"${f_numtest}\"Not a valid number"
return 1
fi
done
# Check for valid number
g_num_valid_number "$f_num" "$f_checkhigher" || return 1
# Check which is the low (from) and the high (to) number
# Check if given number is in or out range

View File

@ -0,0 +1,12 @@
function g_num_valid_number {
local f_num
for f_num in $@
do
if ! [[ ${f_num} =~ ^(-\.)?[0-9]+(\.[0-9]+)?$ ]]
then
g_echo "\"${f_num}\": Not a valid number"
return 1
fi
done
}