C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Опять округление :(, сорри,что снова поднимаю проблему свою..
Tlik
  Отправлено: 19.02.2004, 16:36


Не зарегистрирован







Нашел в форумах вот такой пример, но не понял его;

TForm::Okrugl1(double Argument, int Precision)
{
double div = 1.0;
if(Precision>= 0)
while(Precision--)
div *= 10.0;
else
while(Precision++)
div /= 10.0;
return floor(Argument * div + 0.5) / div;
}

Скажем мне нужно округлить число 768492119

Мне нужно передат его в функцию, так:

Okrugl1(768492119, 2);


Я правильно понял??


P.S.
В математике я вообще глупый, скажите это будет работать грамотно.
** pasha
Отправлено: 19.02.2004, 16:45


Не зарегистрирован







QUOTE
Я правильно понял??


Да.
Asher
Отправлено: 19.02.2004, 17:52


Мастер участка

Группа: Модератор
Сообщений: 550



Привет
Запусти проверь. biggrin.gif
Судя по всему в этой функции для округления цифр после запятой используется Precision> 0, если ты из 768492119 хочешь получить 768492100, то Precision = -2.
Doga
Отправлено: 20.02.2004, 15:26


Мастер участка

Группа: Участник
Сообщений: 575



А что, моя double Round(double Value, int Precision) не понравилась? smile.gif
Tlik
  Отправлено: 21.02.2004, 17:27


Не зарегистрирован







QUOTE
Doga
А что, моя double Round(double Value, int Precision) не понравилась?

Просто я непонял как оформить код в программе. Чтот много кода, я не разобрался что к чему(.

Это всё одна функция, и мне только нужно передать ей значения и получить округленную сумму?

Пока, просто нет времени попробывать, поэтому не эксперементировал еще)

Doga
Отправлено: 24.02.2004, 15:07


Мастер участка

Группа: Участник
Сообщений: 575



Именно так! smile.gif

Вернуться в Вопросы программирования в C++Builder