RosettaCodeData/Task/Determine-if-a-string-is-numeric/Smalltalk/determine-if-a-string-is-numeric-1.st
2023-07-01 13:44:08 -04:00

20 lines
443 B
Smalltalk

String extend [
realIsNumeric [
(self first = $+) |
(self first = $-)
ifTrue: [
^ (self allButFirst) isNumeric
]
ifFalse: [
^ self isNumeric
]
]
]
{ '1234'. "true"
'3.14'. '+3.8111'. "true"
'+45'. "true"
'-3.78'. "true"
'-3.78.23'. "false"
'123e3' "false: the notation is not recognized"
} do: [ :a | a realIsNumeric printNl ]