Последняя версия DataExpress 3 beta от 20 сентября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Проверка и преобразования Str<To>Float

Вопросы, касающиеся языка, синтаксиса.
Аватара пользователя
Гocть
Специалист
Сообщения: 912
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Проверка и преобразования Str<To>Float

Сообщение Гocть » Сб сен 08, 2018 1:23 pm

Про особенности хранения чисел в паскале понятно, но все же вопрос: можно ли привести в программе к какому то "общему знаменателю" нижеуказанные функции? :

Код: Выделить всё


// debug(FloatToStr(Self['Число'])) // = 123.450000000000 (OK)

// ОК. пробуем в обратном порядке:

  debug(TryStrToFloat('123.450000000000',F)) // false (?)

// ну хорошо. Тогда так:

  debug(TryStrToFloat('123,450000000000',F)) // = true  (OK)

// Ну раз все ОК тогда пробуем:

 Self['Число']:= StrToFloat('123,450000000000') // Exception: Invalid Float (?)

// Ладно. Тогда пробуем так:

if TryStrToFloat('123,450000000000',F) then
Self['Число']:=StringReplace('123,450000000000',',','.',[]);

// работает.

 
Фрилансер. Разработка на заказ. Консультирование.