FormatFloat и обратно

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

FormatFloat и обратно

Сообщение alexs » 08.05.2018 16:30:04

Глупый вопрос.
Есть функция FormatFloat
А вот как обратно полученную строку превратить в число? TextToFloat и основанные на ней не работают. Проблема в разделителе тысяч. Там прям в коде написано:
Код: Выделить всё
  //ThousandSeparator not allowed as by Delphi specs
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3675
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FormatFloat и обратно

Сообщение wofs » 08.05.2018 21:20:16

Я делаю таким велосипедом:
Код: Выделить всё
             
for N:= Length(Result) downto 1 do
      if not (Result[N] in [DefaultFormatSettings.DecimalSeparator, '0'..'9']) then Delete(Result, N, 1);
Аватара пользователя
wofs
постоялец
 
Сообщения: 375
Зарегистрирован: 05.10.2009 10:16:55
Откуда: Астрахань

Re: FormatFloat и обратно

Сообщение Vadim » 09.05.2018 06:43:55

alexs
Я тоже сначала вручную убираю разделители тысяч:
Код: Выделить всё
СтрокаСПравильнымЧислом:=StringReplace(ИсходнаяСтрокаСЧислом, ПодстрокаРазделителяТысяч, '',[rfReplaceAll]);
Vadim
долгожитель
 
Сообщения: 2783
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: FormatFloat и обратно

Сообщение Снег Север » 09.05.2018 07:58:00

Делал парсер строк в числа для программы, вытаскивавшей числовые данные с разнообразных сайтов. Да, только так - надо заранее знать что используется в качестве разделителя целой и дробной части, а потом очистка от всего лишнего. Обычно через Stringreplace.
Аватара пользователя
Снег Север
энтузиаст
 
Сообщения: 1176
Зарегистрирован: 27.11.2007 16:14:47

Re: FormatFloat и обратно

Сообщение alexs » 10.05.2018 09:14:34

Ок. Спасибо. Наверное функцию свою в модуль добавлю.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3675
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru