![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Округление [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 :)))))))))