19 lines
625 B
Bash
19 lines
625 B
Bash
function g_num_exponential2normal {
|
|
|
|
[ -z "$1" ] && return 1
|
|
# if there is a exponential number (for example 9.881e-05) convert it to "normal" notation
|
|
if [[ "$1" =~ ^(-)?(\.)?[0-9]+(\.)?([0-9]+)?(e-[0-9]+)?$ ]]
|
|
then
|
|
# convert
|
|
printf -v f_g_num_exponential2normal_result -- "%.12f" "$1"
|
|
# remove ending 0
|
|
if [[ $f_g_num_exponential2normal_result =~ \. ]]
|
|
f_g_num_exponential2normal_result=${f_g_num_exponential2normal_result%%+(0)}
|
|
f_g_num_exponential2normal_result=${f_g_num_exponential2normal_result%%.}
|
|
return 0
|
|
else
|
|
f_g_num_exponential2normal_result=$1
|
|
return 1
|
|
fi
|
|
}
|