RosettaCodeData/Task/Determine-if-a-string-is-numeric/Standard-ML/determine-if-a-string-is-numeric.ml

11 lines
399 B
OCaml
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
(* 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