|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.06.2017, 09:56 | #1 |
Регистрация: 13.06.2017
Сообщений: 5
|
Что в паскале делают функции trunc и round?
/*-*\
|
20.06.2017, 09:59 | #2 |
Я самый любопытный
Участник клуба
Регистрация: 24.07.2012
Сообщений: 1,949
|
trunc - выделение целой части. trunc(5.8) = 5
round - округление числа до ближайшего целого. round(5.8) = 6 Примечания: С отрицательными числами они могут работать с ошибками: trunc(-5.8) = -5 round(-5.5) = -6 Безымянный.png Последний раз редактировалось newerow1989; 20.06.2017 в 10:12. |
20.06.2017, 10:08 | #3 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
ADD И что в примере не так? Целая часть -5.8 разве не -5? Да и округление чем не понравилось?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 20.06.2017 в 10:45. |
|
20.06.2017, 10:47 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
и в чём ошибка?
Вы знаете, что такое ОКРУГЛЕНИЕ? ну, например, округление до целых чисел, если нам дано число 5.95 то какое ЦЕЛОЕ число будет к нему ближайшим ? наверное, 6 ?! А если нам дано число -5.95 то какое ЦЕЛОЕ число будет к нему ближайшим? наверное, -6 ?! Что не так? |
20.06.2017, 11:04 | #5 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Добавлю, что round округляет банковским способом https://ru.wikipedia.org/wiki/Округл...BE.D0.BC.D1.83
2.5 = 2, а 3.5 = 4 |
20.06.2017, 11:07 | #6 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
Код:
Операция математического "выделения целого" дает значение "не больше" исходного. Т.е. целое от -5.1 = -6 Но trunc и round - это не "выделение целого", в спецификации четка описано, что они делают. Последний раз редактировалось alexzk; 20.06.2017 в 11:16. |
20.06.2017, 11:28 | #7 | |
Я самый любопытный
Участник клуба
Регистрация: 24.07.2012
Сообщений: 1,949
|
Если взять источник http://xoops.ws/modules/instruction/page.php?id=934
Цитата:
Программа Excel вычисляет целые числа так: ЦЕЛОЕ(-5,6) = -6 Округление: ОКРУГЛ(-5,5;0) = -6 |
|
20.06.2017, 11:52 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
С таким же успехом можно сказать, что в Excel и прочее с ошибками. Если в бухгалтерии у меня красный остаток -2.01, то с какого перепуга его округлять до -3?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
20.06.2017, 12:29 | #9 |
Я самый любопытный
Участник клуба
Регистрация: 24.07.2012
Сообщений: 1,949
|
В общем, не могу найти как правильно округлять отрицательные числа с дробной частью 0,5!
-3,5 округляется до -4 или до -3? |
20.06.2017, 12:31 | #10 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 20.06.2017 в 12:36. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
что делают эти функции ? | RAFA91 | Общие вопросы C/C++ | 4 | 27.01.2015 13:47 |
Что делают эти команды? | Glaciuse | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 22.11.2012 04:18 |
до каких чисел округляет функция round в Паскале ABC& | Настяyu | Помощь студентам | 5 | 28.12.2011 18:18 |
Delphi калькулятор. не могу понять что делают эти функции!!! | Настюшка_11 | Помощь студентам | 2 | 26.12.2011 20:54 |
что делают функции | CodeNOT | Общие вопросы C/C++ | 5 | 19.05.2011 15:24 |