Как проверить десятичную точку, когда проверка строки является допустимым числом?Haskell: проверьте правильность строки.
Я думаю, что я использую что-то вроде следующего, но добавляю код для проверки десятичной точки!
isNumber :: String -> Bool
isNumber xs = all isDigit xs || add extra code here
В случае, если действительный номер определен в EBNF как:
number -> .digit+ | digit+ [ .digit*]
Например, .5, 1.5, 1, 1. все действительные числа. + означает одно или несколько вхождений, а * обозначает ноль или более.
Я бы рекомендовал использовать 'parsec' (или нечто подобное) для этого – Carsten