Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос наипростейший, тока не помню как...


Dennis S ©   (2002-10-21 15:43:00) 

Как убрать (или зафиксировать) кол-во знаков после запятой?
---
c := b * 0.18;
ed18.Text := FloatToStr(c);
---
результат, например = 134,567
а мне надо 134,ХХ
а округлять можно как-то? 134,562 => 134,56 // 134,567 => 134,57

Спасибо заранее :)


Dennis S   (2002-10-21 16:36:00) [1]

2 NickBat
Спасибо, я поставил +3 (в "...ss)+1+Sign,255...")
то что надо... :)
ХХХХХ ,ХХ


MegaBass   (2002-10-21 16:31:00) [2]

c: double;
s: string[10];
Str(c:4:2, S);
c:=StrToFloat(S);


NickBat   (2002-10-21 16:19:00) [3]

Два знака после запятой - это я понимаю копейки?
Так десятые доли копейки надо отбрасывать, а не округлять.
Я делаю это так:
function TruncZent(Sum: double; Sign: integer): double;
var
ss: string;
begin
ss:=FloatToStr(Sum);
if pos(",",ss)>0 then delete(ss,pos(",",ss)+1+Sign,255);
Result:=StrToFloat(ss);
end;

Конечно тут надо смотреть, что в системе за разделитель стоит.

Предвижу замечания - зачем в Строку переводить? Можете поверить, работает отлично, проверено долгой практикой. Варианты с промежуточным Integer имеют свои "глюки".


Dennis S   (2002-10-21 15:54:00) [4]

2 REA
---
FormatFloat("0.00", c);
c := b * 0.18;
ed18.Text := FloatToStr(c);
---
так не работает - 3 знака вылезает...

c := b * 0.18;
FormatFloat("0.00", c);
----
тоже самое...


Dennis S   (2002-10-21 15:50:00) [5]

А куда и как?
---
FormatFloat("0.00", c);
c := b * 0.18;
ed18.Text := FloatToStr(c);
---
так не работает - 3 знака вылезает...


MegaBass   (2002-10-21 15:50:00) [6]

RoundTo...


REA   (2002-10-21 15:45:00) [7]

FormatFloat("0.00", Value)


Наверх

Титульная страница Поиск, карта сайта Написать письмо