32 lines
847 B
Plaintext
32 lines
847 B
Plaintext
|
##@cooked comments # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||
|
## Fonctions de base: gestion des valeurs numériques
|
||
|
##@cooked nocomments
|
||
|
uprovide base.num
|
||
|
|
||
|
function isnum() {
|
||
|
# retourner vrai si $1 est une valeur numérique entière (positive ou négative)
|
||
|
[ ${#1} -gt 0 ] || return 1
|
||
|
local v="$1"
|
||
|
v="${v#-}"
|
||
|
v="${v//[0-9]/}"
|
||
|
[ -z "$v" ]
|
||
|
}
|
||
|
function ispnum() {
|
||
|
# retourner vrai si $1 est une valeur numérique entière positive
|
||
|
[ ${#1} -gt 0 ] || return 1
|
||
|
local v="$1"
|
||
|
v="${v//[0-9]/}"
|
||
|
[ -z "$v" ]
|
||
|
}
|
||
|
function isrnum() {
|
||
|
# retourner vrai si $1 est une valeur numérique réelle (positive ou négative)
|
||
|
# le séparateur décimal peut être . ou ,
|
||
|
[ ${#1} -gt 0 ] || return 1
|
||
|
local v="$1"
|
||
|
v="${v#-}"
|
||
|
v="${v//./}"
|
||
|
v="${v//,/}"
|
||
|
v="${v//[0-9]/}"
|
||
|
[ -z "$v" ]
|
||
|
}
|