Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Редактирование перед сохранением.   Найти похожие ветки 

 
AleKo   (2005-01-19 09:00) [0]

Добрый день господа.
У меня закралось сомнение а правильно ли я делаю.

Имеется ClientDataSet с полями ftFloat? Данные отображаются на DBGridEh.
Необходимо что бы при любых введенных значениях в поле сохранялось число округленное до двух знаков после запятой.
12,345678 сохранится как 12,34

Делаю через событие поля
procedure TMainForm.CDSBazaCDSBazaFed_rSetText(Sender: TField;
 const Text: String);
begin
   try
       SetRoundMode(rmTruncate);
       Sender.Value:=RoundTo(StrToFloat(Text),-2);
   finally
       SetRoundMode(rmNearest);
   end;
end;

Правильно ли я делаю. Может есть другие варианты. Спасибо.


 
Danilka ©   (2005-01-19 09:14) [1]

В описании полей датасета, кажись в EditFormat (или что-то похожее, нету сейчас под рукой) напиши:
,0.00
и будет тебе щастье. :) ничего лишнего тогда просто не сможешь ввести.
А если в DisplayFormat добавишь, то еще и отображаться красиво будет.
Вобщем, почитай про свойства TField.


 
Erik1 ©   (2005-01-19 10:26) [2]

Еще можно использовать тип поля Currency.


 
Danilka ©   (2005-01-19 10:34) [3]

[2] Erik1 ©   (19.01.05 10:26)
Так даже лучше. Правда, все равно надо задавать формат, т.к. Currency 4 знака после запятой, а не 2.


 
Соловьев ©   (2005-01-19 10:57) [4]

OnBeforePost:
...
FieldByName("2Digit").AsFloat := RoundTo(FieldByName("2Digit").AsFloat,-2);
...



Страницы: 1 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.055 c
14-1107117278
Yuri Btr
2005-01-30 23:34
2005.02.20
глюки форума


14-1106747786
}|{yk
2005-01-26 16:56
2005.02.20
Требуется программист!


14-1107178240
ArchValentin
2005-01-31 16:30
2005.02.20
Кто чё-нить знает про зверя VBScript просю...


9-1096658385
dimodim
2004-10-01 23:19
2005.02.20
Ну Вот пищу игру зацените


4-1104653379
KASioZ
2005-01-02 11:09
2005.02.20
Проблемы с SetWindowHookEx