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

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

Округление [D5, WinME]


Toma2 ©   (2002-07-20 14:27:00) 

Вопрос конечно же простой, но я что-то затрудняюсь.
Как округлить число до второго знака после запятой


msk   (2002-07-24 12:33:00) [1]

s:=Format("%8.2f",245.124);
получится s=245.12


TM   (2002-07-23 21:11:00) [2]

В Delphi-6 точно, возможно и в 5-м есть такая функция: RoundTo(Real, Integer). Округление до 2-го знака после запятой: RoundTo(Z,-2);


Ich Hasse   (2002-07-21 12:41:00) [3]

procedure Rounding(Chislo:Extended;Count: integer);
begin
Chislo:=Trunc(Chislo/power(10,Count))/power(10,count);
end;

вроде так, только с ф-цией возведения в степеньь мог ошибиться (power(...)).


Mozart.mc   (2002-07-21 01:47:00) [4]

StrToFloat(FloatToStrF(23.34534545,ffGeneral,4,2))=23.35
К примеру...


Слесарь-технолог   (2002-07-21 00:42:00) [5]

// Вх.: value, Вых.: value (float)

int s = value*100 + 0.5;
value = ((float)s)/100.0;


Феликс   (2002-07-20 18:25:00) [6]

Т.е x1 это тове число с запятыми, а s1 "обрезанный" результат.


Феликс   (2002-07-20 18:21:00) [7]

Пардон это подстава. Нужен str.
str(x1:7:3,s1);
x1:real;
s1:string;


Феликс   (2002-07-20 18:09:00) [8]

Val
Смотри в helpe.


Viewer   (2002-07-20 17:52:00) [9]

На самом деле это неверный подход.
Хранить данные надо с максимальной точностью, определенной точностью предоставления данных, а вот отображать..
Т.е. это вопрос отображения.
Отсюда и исходи.
Всевозможные варианты Format... и пр


BOPOH   (2002-07-20 17:03:00) [10]

Умнож на 100, округли до целого, раздели на 100 :)))))))))


Наверх

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