Проблемы с FloatToStr()

Вопросы программирования и использования среды Lazarus.

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

Сообщение alexs » 28.08.2006 20:55:32

property AsFloat: Double read GetAsFloat write SetAsFloat;
откуда берётся тип single?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение alexs » 28.08.2006 21:00:20

кстати - а зачем используеш варианты? может они гонят?
я стремлюсь их любыми средствами избегать, т.к. теряется контроль над типом данных
и вбще - варианты - зло :-)
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение tria » 29.08.2006 10:46:28

alexs писал(а):property AsFloat: Double read GetAsFloat write SetAsFloat;
откуда берётся тип single?


На примере single я показал суть проблемы. Ну нет у меня подходящего примера для double и extended. Но смысл то остается - проблема представления дробных чисел в двоичном виде.
Соответственно, в моем конкретном случае эта проблема вылезла на double.

alexs писал(а):кстати - а зачем используеш варианты? может они гонят?

Варианты я использую потому, что результатом вычисления вводимого пользователем выражения может быть строка, дата, целое число, справочник (по сути - его Id в базе).
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение alexs » 30.08.2006 00:43:17

указанный тобо пример не много (мягко говоря) не коректен
в результате твоих операций происходит преобразования приводящите к потере точности (Double в Sigle)
используй более строгую типизацию
- если у тебя подразумеваются деньги - используй Currency
по моему просто всёже ты не правильно подходиш к объявлению данных.
если уж так тебе критично чтобы оператора сами набирали структуру таблиц - предоставь им преобпределённый выбор типов полей - с которыми гарантированно нет мороки - для денег, для ко-ва товаров и т.д.

P.S. хотя я уже ранее излагал свою точку зрения - что разработчик должен заботится о структурах данных, о интрфейсе и т.д. - а оператор должен работать в программе - а незаниматься исправлением плюх и не доделок разработчика.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Пред.

Вернуться в Lazarus

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

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

Рейтинг@Mail.ru