Я хочу сохранить текст в виде поплавка. Моя проблема заключается в том, что этот текст поставляется в разных форматах, и я не могу повлиять на это. Моя колонка TEXT содержит строки, какПреобразование текста в float, когда текст поступает в разных форматах
218000,56
500.000.00
У меня нет проблемы преобразования первых двух строк. У меня проблема с преобразованием последнего, потому что десятичная метка имеет тот же символ, что и разделитель тысяч.
Как мне решить эту проблему? Является ли явная строка преобразования для float с использованием формата, который я могу определить?
EDIT: Я забыл сказать, что в вышеуказанных случаях последний. (если он есть) всегда является десятичным разделителем, если за ним следует двузначный номер. Итак, «153.650» должен, например, преобразовать в 153650.
Это непростая задача решить, если нет ограничений на формат ввода. «500.000.000» означает 5.00000000 x 10^5 или 5 x 10^8? Обычно используется «,» как разделитель тысяч и «.». для десятичной точки или наоборот. Использование одного и того же символа для одного и того же номера больше похоже на ошибку, которая должна быть исправлена, а не работать. – chepner
Вы правы. Это ошибка пользователя, но я не могу этого предотвратить. Я хочу найти способ распознать правильный номер. – flo
Просто предположите, что вы можете вставить в другую таблицу все строки с 2 точками и более, удалить их и преобразовать их в то, что вам нужно. Я сомневаюсь, что есть решение, которое будет работать во всех форматах. – Mihai