Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Вниз

Как реализовать обычное математическое округление   Найти похожие ветки 

 
zorik ©   (2005-10-21 11:11) [0]

Ф-ция Round округливает:
1.5=2
2.5=2
3.5=4
4.5=4
5.5=6
6.5=6
Если ли функция какая "нормально" округливает? Или надо писать свою?
Спасибо.


 
Baltika-12   (2005-10-21 11:32) [1]

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


 
zorik ©   (2005-10-21 12:24) [2]

Спасибо!
Но наверно должна быть и стандартная ф-ция.


 
ShiFT   (2005-10-21 12:48) [3]

int( X: Double)


 
Экспериментатор   (2005-10-21 13:48) [4]

в модуле Math стандартная функция RoundEx - один в один как MyRound у Baltika-12


 
Sergey_R ©   (2005-10-21 14:21) [5]

Вообще-то по правилам математики при округлении (если дробная часть заканчивается на 5) надо смотреть предыдущее число: если число нечетное, тогда округляем до большего, а если четное, тогда -  до меньшего.
Так что Round работает правильно!


 
111_   (2005-10-21 15:00) [6]

Она не округливает а округляет.


 
Lexer ©   (2005-10-21 15:00) [7]

>нечетное, тогда округляем до большего, а если четное, тогда -  до меньшего.

неужто?
ты где такое вычитал?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
14-1129897610
X9
2005-10-21 16:26
2005.11.13
Глючит комп


2-1129893248
Quattro
2005-10-21 15:14
2005.11.13
Наследник от TStringGrid


14-1130140271
syte_ser78
2005-10-24 11:51
2005.11.13
какие базы (локальные) поодерживают украинскую локализацию?


6-1113246676
Sergey12345
2005-04-11 23:11
2005.11.13
чат на winsock


14-1130086693
DK2DK2DK2
2005-10-23 20:58
2005.11.13
Автоматизированое составление расписаний





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский