Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Формат чисел


Автор: lokid9 3.8.2008, 15:08
Столкнулся с проблемой разных форматов чисел, пишу небольшой клиент на основе XML-RPC и от сервера получаю строку с числом в формате с точкой (например, '1.0412' или '423.234'), но при попытке преобразовать их с помощью StrToFloat получаю исключение EConvertError, как выяснилось нужно, чтобы числа шли с запятой в виде разделителя (например, '1,234' или '2423,92'). Каким образом можно конвертировать строки в числа не беспокоясь, что у пользователя могут оказаться другие национальные настройки?

Автор: Rrader 3.8.2008, 15:19
Анализируй строку на '.' или ',' - а затем устанавливай нужный символ в DecimalSeparator;

Автор: lokid9 3.8.2008, 15:27
Спасибо за помощь smile

Автор: Poseidon 4.8.2008, 21:33
Раз с сервера получаешь число с точкой, то сразу установи DecimalSeparator:= '.'

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)