Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
4-1104948164
suharew
2005-01-05 21:02
2005.02.20
Как переименовать каталог


6-1102708946
=alexlp=
2004-12-10 23:02
2005.02.20
Как узнать активен ли TServerSocket.


14-1106632599
syte_ser78
2005-01-25 08:56
2005.02.20
Что за ... спай?


6-1102167604
mazai
2004-12-04 16:40
2005.02.20
как отключить сообщения об ошибках?


4-1103903666
VikOss
2004-12-24 18:54
2005.02.20
RichEdit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский