![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Округление вещественных чисел [D5, IB6.x]
Lika © (2004-10-15 16:53:00)Здравствуйте, подскажите пожалуйста округляю вещественное число до двух знаков Round(chislo*100)/100, округляет неправильно (в тысячных пятерка поэтому к сотым должна прибавляться 1, а она не прибавляется) Не знаю что мне делать, уже прочитала и кучу стотей про округление и алгоритмы другие попробовала,а оно не как. Подскажите пожалуйста как быть?
Nikolay M. (2004-10-15 20:08:00) [1]
> const K10 : array [0..10] of Double = (1,10,100,1000,10000,100000,
> 1000000,10000000,100000000,
> 1000000000,10000000000);
Извращенец :)
10 shl k - попробуй, вставляет :)
LM2 (2004-10-15 17:39:00) [2]function FormatFloat(var Value : Double; var K{кол-во знаков после запятой} : Integer): Double;
const K10 : array [0..10] of Double = (1,10,100,1000,10000,100000,
1000000,10000000,100000000,
1000000000,10000000000);
begin
Result := ( Round ( Value * K10[K] + 1/K10[K+1] ) ) / K10[K];
end;
Johnmen (2004-10-15 17:00:00) [3]Читать про математическое и бухгалтерское округление.
PS 1.235 не так, как 1.245