RosettaCodeData/Task/Determine-if-a-string-is-numeric/Standard-ML/determine-if-a-string-is-numeric.ml
2023-07-01 13:44:08 -04:00

10 lines
399 B
Standard ML

(* this function only recognizes integers in decimal format *)
fun isInteger s = case Int.scan StringCvt.DEC Substring.getc (Substring.full s) of
SOME (_,subs) => Substring.isEmpty subs
| NONE => false
fun isReal s = case Real.scan Substring.getc (Substring.full s) of
SOME (_,subs) => Substring.isEmpty subs
| NONE => false
fun isNumeric s = isInteger s orelse isReal s