31 lines
890 B
Bash
31 lines
890 B
Bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
|
##@cooked nocomments
|
|
module: base.num "Fonctions de base: gestion des valeurs numériques"
|
|
|
|
function: isnum 'retourner vrai si $1 est une valeur numérique entière (positive ou négative)'
|
|
function isnum() {
|
|
[ ${#1} -gt 0 ] || return 1
|
|
local v="${1#-}"
|
|
[ ${#v} -gt 0 ] || return 1
|
|
v="${v//[0-9]/}"
|
|
[ -z "$v" ]
|
|
}
|
|
|
|
function: ispnum 'retourner vrai si $1 est une valeur numérique entière positive'
|
|
function ispnum() {
|
|
[ ${#1} -gt 0 ] || return 1
|
|
[ -z "${1//[0-9]/}" ]
|
|
}
|
|
|
|
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 ,'
|
|
function isrnum() {
|
|
[ ${#1} -gt 0 ] || return 1
|
|
local v="${1#-}"
|
|
[ ${#v} -gt 0 ] || return 1
|
|
v="${v//./}"
|
|
v="${v//,/}"
|
|
v="${v//[0-9]/}"
|
|
[ -z "$v" ]
|
|
}
|