# -*- 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" ] }