@Nikodad

Как отфильтровать вещественные числа из строки на python?

Необходимо сделать фильтр для вещественных чисел. Какой метод можно для это использовать? Нашел, что для целых чисел может подойти 3 метода:
isdigit()
isnumeric()
isdecimal()
Но для дробей ничего. Как это можно сделать?
  • Вопрос задан
  • 268 просмотров
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Регулярками как вариант:

import re
data = ['erwer', 'dd', '44j', '5.09', '33', 'dfgdfs', '99.100', '5645..99', '.434', '42342.']
[x for x in data if re.match('^\d+(\.\d){0,1}\d*$', x)]


['5.09', '33', '99.100']

Либо простейшей процедурой:
def is_float(value):
    try:
       float(value)
    except ValueError:
       return False
    return True


>>> is_float('65456')
True
>>> is_float('65456.00')
True
>>> is_float('65456.00gfghf')
False
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы