Главная страница
    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.45 MB
Время: 0.033 c
14-1106919660
Околокомпьютерный
2005-01-28 16:41
2005.02.20
Про музычку


9-1100334142
mozartw
2004-11-13 11:22
2005.02.20
Как сотрудничают 3dmax и compiler


1-1107449489
Muhan
2005-02-03 19:51
2005.02.20
Как проверить существует ли файл?


1-1107339172
Imp
2005-02-02 13:12
2005.02.20
статья: Написание оптимального кода под Delphi


1-1107869503
Endy
2005-02-08 16:31
2005.02.20
ListBox + Win98 + много элементов = ошибка





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский