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

Вниз

Округление   Найти похожие ветки 

 
Zheks   (2003-11-05 10:46) [0]

Товарищи, подскажите плз. как округлять 44.1 -> 44 и 44.8 -> 45 и т.д. Спасибо.


 
Saturn   (2003-11-05 10:48) [1]

напишы сам там строк 10 кода получится


 
Плохиш_   (2003-11-05 10:53) [2]

Интересно, совсем стандарные функции никому не помогают?


 
Saturn   (2003-11-05 10:57) [3]

2 Плохиш_
если нет время то зачем такое искать а потом и не надо уже :)


 
Zheks   (2003-11-05 11:03) [4]

Ceil i Floor не подходят, они округляют "вверх" и "вниз" соответственно. Неужели нет стандартной ф-ции которая бы сама определяла как округлить до целого числа?


 
Anatoly Podgoretsky   (2003-11-05 11:03) [5]

На стороне всегда лучше


 
Stas   (2003-11-05 11:04) [6]

Round или что-то в этом роде см. модуль Math


 
Saturn   (2003-11-05 11:06) [7]

Обреж дробную часть а потом добавь 0,5 и If"м проверь вот те вся Функция 2 минуты работы


 
Zheks   (2003-11-05 11:09) [8]

Всем спасибо!
Стас персональное...


 
Anatoly Podgoretsky   (2003-11-05 11:17) [9]

Saturn (05.11.03 11:06) [7]
Интересно, а ты пробовал скажем для числа -0,7?


 
TUser   (2003-11-05 11:31) [10]

Round. Хотя, я слышал, что у этой функции есть один недостаток. Она все округляет так, как нас в школе учили, но числа типа 2,5; 3,5; 6,5 и пр. округляются всегда до ближайшего целого, т.е. round (2.5)=2. Сам я это правда не проверял, но такое стоит учитывать.


 
Saturn   (2003-11-05 11:39) [11]

2 Anatoly Podgoretsky
Это просто каркас что надо делать. Не весе же полностью расписывать.


 
Anatoly Podgoretsky   (2003-11-05 11:50) [12]

Saturn (05.11.03 11:39) [11]
А вот с этим я согласен, особенно если бы это было указано.

TUser © (05.11.03 11:31) [10]
Указанные числа она округлит одназначно, вне зависимости от того как тебя учили в школе. А в школе тебя учили так, что бы не мучить неокрепшии молодые мозги, но вот если и в институте учили также, то это уже плохо.


 
Saturn   (2003-11-05 11:57) [13]

А меня и в школе не так округлять учили :) про универ и не говорю


 
vpman   (2003-11-05 12:50) [14]

=Trunc(x+0.5) - что вы все мучаетесь?


 
Mike Kouzmine   (2003-11-05 13:17) [15]

vpman © (05.11.03 12:50) [14] Trunc(-0.7 + 0.5) = 0?


 
pasha_golub   (2003-11-05 13:20) [16]

2vpman
Trunc(x + sign(x)*0.5)


 
Saturn   (2003-11-05 13:22) [17]

Блин перед 0.5 поставь знак х и все будет в шеколаде.


 
ИдиотЪ   (2003-11-05 14:18) [18]

ту TUser ©
я проверял, гадкая штука, сначала долго понять не мог, думал у меня глюк )
так что trunc(x+...) не есть эквивалент round в американском понимании .

--------
не поймите неправильно


 
Думкин   (2003-11-05 14:23) [19]


> [10] TUser © (05.11.03 11:31)
> Round. Хотя, я слышал, что у этой функции есть один недостаток.
> Она все округляет так, как нас в школе учили, но числа типа
> 2,5; 3,5; 6,5 и пр. округляются всегда до ближайшего целого,
> т.е. round (2.5)=2.

Плакть иль смеятся.
Вот в чем вопрос.
(3-2.5)=(2.5-2) Куда податься?


 
Anatoly Podgoretsky   (2003-11-05 14:30) [20]

Никакого основания, чтобы в машинной логике эти два выражения были равны, в математической да будут.


 
Думкин   (2003-11-05 14:33) [21]


> [20] Anatoly Podgoretsky © (05.11.03 14:30)

И я про тоже. Но ведь требуют и трясут ПЕЧАТЬЮ.
Это первая трабла с которой я столкнулся через 15 минут знакомства с компом - никаких вопросов. Хочешь округлять как надо - не доверяй это важное никому. :-)


 
nikkie   (2003-11-05 14:48) [22]

>округляются всегда до ближайшего целого
месяц или два назад обсуждалось бурно. .5 - округляется до ближайшего четного. называется бухгалтерское округление. можно сделать, чтобы округляло "по-школьному". достаточно хелп по Round почитать - все написано.


 
Anatoly Podgoretsky   (2003-11-05 14:56) [23]

Думкин © (05.11.03 14:33) [21]
Выводи с точностью до 20 знаков, тогда будет видно, что результат разный. А если серьезно, то требуется переход на математику с фиксированной запятой.
Меня всегда умиляли дебаты по поводу округления до Н знаков после запятой в применение к плавающей

nikkie © (05.11.03 14:48) [22]
Тут особый случай, точнее частный, при выводе на экран видим ,5 а не округляется


 
Думкин   (2003-11-05 15:06) [24]


> [23] Anatoly Podgoretsky © (05.11.03 14:56)

Меня тоже. :-(
На одном соревновании с членом(в хорошем смысле) поругался(в плохом смысле).
Там было такое же. Сравнивали sqrt(a*a)=a. Ну я выступил. Ну и все. По барабану.
Я студентам говорил про это - хорошо если в группе один проникался. Может объяснял плохо.


 
blackman   (2003-11-05 17:40) [25]

>Думкин
Ну при чем твой sqrt, если он например, деньги считает :)


 
Anatoly Podgoretsky   (2003-11-05 17:43) [26]

При счете женег надо использовать сертифицированные методы, кто проходил серьезный аудит по полной программе знает что это такое.


 
Asteroid   (2003-11-05 19:44) [27]

"При отбрасывании цифры 5 иногда сохраняют предыдущую цифру, если она четная, и увеличивают ее на единицу, если она нечетная:
3,165 ~ 3,16 ~ 3,2 ~ 3, но 3,175 ~ 3,18."
(c) Краткий физ-мат. справочник, Аленицын и др., 1990г.



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
1-89806
Uran
2003-11-18 19:04
2003.11.27
Системные переменные


14-90056
mastadont
2003-11-04 21:01
2003.11.27
Есть у кого-нибудь желаниt написать статью?


1-89896
Kacnep
2003-11-17 15:24
2003.11.27
Настройки в TTreeView зачем и как реализовать?


1-89915
petro
2003-11-18 12:51
2003.11.27
сохранение с TImage


1-89940
Varfolomey
2003-11-15 14:50
2003.11.27
Как программно узнать удалён ли динамический компонент?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский