22 lines
482 B
Text
22 lines
482 B
Text
isnum2()
|
|
{
|
|
case "$1" in
|
|
'[-+]' | '') return 1;; # empty or bare `-' or `+'
|
|
[-+]*[!0-9]*) return 1;; # non-digit with leading sign
|
|
[-+]*) return 0;; # OK
|
|
*[!0-9]*) return 1;; # non-digit
|
|
*) return 0;; # OK
|
|
esac
|
|
}
|
|
|
|
# this one handles floating point
|
|
isnum3()
|
|
{
|
|
case "$1" in
|
|
'') return 1;; # empty
|
|
*[!0-9.+-]*) return 1;; # non-digit, +, -, or .
|
|
*?[-+]*) return 1;; # sign as second or later char
|
|
*.*.*) return 1;; # multiple decimal points
|
|
*) return 0;; # OK
|
|
esac
|
|
}
|