Я использую TryStrToFloat
для преобразования строки в двойные переменные. Все работает нормально, пока строка не будет выглядеть как «21e». Я получаю результат преобразования 21.TryStrToFloat преобразует неправильную строку
Мне кажется, что компилятор рассматривает «21e» как номер 21e0. Строка 21e1 дает результат 210. Когда я использую преобразование функции Val, работает лучше. String '21e' дает ошибку, но теперь '21e1' дает 210, '21e-1' дает номер 2,1 и т. Д.
Как правильно выполнить преобразование. Должен ли я обнаруживать букву «e» в тексте или какой-либо простой способ конвертировать?
Действительно. 'TextToFloat' (вызываемый' TryStrToFloat') возвращает 'TRUE' для' 21e'. Протестировано с помощью XE, это самый последний из них на этой машине. – JensG
Спасибо @JensG, как я думаю, вы могли бы сказать, что я не смог проверить эту проблему. –