Страница 1 из 1

Проблема округления

Непрочитанное сообщениеДобавлено: 20 сен 2007, 16:00:33
Alex ilmarranen
Какъ округлить число 5.5(5) ?

Вопросъ не такой простой какъ кажется… Не спешите съ выводами…

Проблема округления

Непрочитанное сообщениеДобавлено: 20 сен 2007, 16:20:15
Гость
как не крути, а 6 получится….

Проблема округления

Непрочитанное сообщениеДобавлено: 20 сен 2007, 17:12:39
Alex ilmarranen
:p

З.Ы. Извините… неудержался… )) Я не со зла… Думайте… Можтъ вы чего придумаете…
Для начала вотъ… http://www.delphikingdom.com/asp/viewit ... logid=1217

и къ нему обсуждение… http://www.delphikingdom.com/asp/articl ... cleID=1217

Проблема округления

Непрочитанное сообщениеДобавлено: 20 сен 2007, 17:54:14
John
Alex ilmarranen
чета не въеду, а в чем проблема-то, все отлично округляется, если имеется ввиду погрешность которая случается с нецелочисленными переменными, так она тоже легко решается, ты конкретно задай вопрос с примером и тогда получишь ответ конкретный

Проблема округления

Непрочитанное сообщениеДобавлено: 20 сен 2007, 18:32:14
F1L
Alex ilmarranen
В средних по-моему классах проходят округление чисел…и 5 округляется в большую сторону…так что не очень понял суть вопроса…

Проблема округления

Непрочитанное сообщениеДобавлено: 20 сен 2007, 18:52:57
Alex ilmarranen
значитъ поясняю…
существуетъ 2 вида округления(основныхъ)- арифметическое и банковское..
Въ особомъ случае - когда последняя цифра 5:
арифметическое - вверхъ…
банковское - до чётного…
Сделано это для того, чтобы существующую погрешность "размазать" по всему интервалу…
1 компенсирует 9,
2 - 8,
и т.д.
однако такъ какъ 5 не компенсируется(точнее 0 не округляется, а 5 не имеетъ вследствии чего пары)… нужно было избрать методъ… И его нашли… назвали до ближайшего чётного… Т.е. из-за равновероятности цифр следуетъ скомпенситрованность…

Къ 5.5(5) какое … целое?


и 5 округляется в большую сторону
Вотъ въ среднихъ классахъ оно такъ и округляется…

Проблема округления

Непрочитанное сообщениеДобавлено: 20 сен 2007, 23:42:37
Alex ilmarranen
Вобщемъ ладно… Проблема решена… Если это можно такъ назвать…
Спасибо за внимание, извините за беспокойство…

2F1L Почитай ссылки выше… И не округляй больше въ большую сторону… ;)


John писал(а):если имеется ввиду погрешность которая случается с нецелочисленными переменными, так она тоже легко решается,
Что подразумевается подъ решениемъ…? :)

Проблема округления

Непрочитанное сообщениеДобавлено: 21 сен 2007, 14:05:20
John
Alex ilmarranen
ну на примере, давно было правда, был косяк, число шото типа 23,234534345дохрена после запятой, функция round не хотела округлять правильно из-за долбаной погрешности(причем такой косяк встречается не очень и часто) , пришлось сделать так int((x*10+5)/10), но вот такая формула не работала int(x+0.5), вот фантастика и все тут, но паскаль хорош тем что его всегда можно нае….ть:)
тоже самое при сравнении двух чисел с плавающей точкой, хрен когда правильный результат даст при использовании

Проблема округления

Непрочитанное сообщениеДобавлено: 21 сен 2007, 19:28:12
Alex ilmarranen
Ммммм… Интересно.. Надо будетъ попробовать… :)
Спасибо…

Проблема округления

Непрочитанное сообщениеДобавлено: 29 дек 2007, 21:25:09
Гость
Alex ilmarranen писал(а):Ммммм… Интересно.. Надо будетъ попробовать… :)
Спасибо…

Можно попробавить прибавить к получившемуся ответу после округления какое нибуть число вроде как 0,0000000000000001 или побольше, число округлиться в нужную сторону. Очень даже работает