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

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

Округление и другие операции над числами


Amentah ©   (2006-01-20 09:19:00) 

Подскажите, пожалуйста, каким образом превратить число
56,764 в 56,76
56 в 5,00
а 56,765 в 56,77?


zorik   (2006-01-20 12:58:00) [1]


> Што ви такое говорите?


Кстати Round(56,765*100)/100 равно 56,76 , а не 56,77

Проверяйте!


zorik   (2006-01-20 12:54:00) [2]

согласен, с "криво" я погорячился. Все так и задумано. Я имел ввиду, что:

...
Round(2.3) = 2
Round(2.4) = 2
Round(2.5) = 2
Round(2.6) = 3
...
Round(3.4) = 3
Round(3.5) = 4
Round(3.6) = 4
...


а автору вопроса нужно "простое класическое математическое" округление, судя по всему :-)


Gero   (2006-01-20 12:39:00) [3]

> лутче

Чем «лутче»?


Плохиш   (2006-01-20 12:34:00) [4]


> zorik ©   (20.01.06 12:10) [6]
> Round() работает криво

Што ви такое говорите?


zorik   (2006-01-20 12:10:00) [5]

Round()работает криво, лутче --

function MyRound(const X:Double; N: Byte): Double;
var
 i: Byte;
 n1: Integer;
begin
n1 := 1;
for i := 1 to N do n1 := n1*10;
Result := Trunc(X*n1+0.5)/n1;
end;

где N - количество знаков после запятой


Gero   (2006-01-20 11:46:00) [6]

uses Math

RoundTo


piople   (2006-01-20 11:28:00) [7]

рамблер + паскаль + округление вещественных чисел...


DimonS   (2006-01-20 10:57:00) [8]

Хм...
Попробуй через FormatFloat(). Правда будет строка, но ее то легко преобразовать обратно в Float. Но это собственно не округляет, а отбрасывает лишние цифирьки. Но в общем то хватает.


Amentah   (2006-01-20 09:57:00) [9]

простите, опечатка
56 в 56,00


Andy BitOff   (2006-01-20 09:56:00) [10]

Amentah   (20.01.06 09:19)  
...каким образом...


Почитать про Round, а так же See alsoк нему.
Правда 56 в 5,00так всеравно не получится.


Наверх

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