Функция ROUND
Посчитать средний размер жесткого диска ПК. Результат представить с двумя знаками после десятичной точки.
Консоль
Выполнить
мы получим такой результат:
Чтобы выполнить требуемое округление можно воспользоваться функцией ROUND :

Консоль
Выполнить
Второй аргумент этой функции как раз указывает число десятичных знаков результата.
Как видно, результат был округлен по арифметическим правилам. Однако у функции ROUND есть третий необязательный аргумент, который говорит о том, округлять ли результат (значение 0 — принимается по умолчанию) или отбрасывать цифры сверх удерживаемых (ненулевое значение).
Т.е. если мы перепишем наш запрос так:

Консоль
Выполнить
то получим другой результат:
Кстати, округлять можно до любого знака, не только десятичного. Например, чтобы округлять до десятков, сотен и т.д., используются отрицательные значения второго аргумента. Следующий запрос округляет результат до десятков.

Консоль
Выполнить
Следует отметить, что функция ROUND выполняет округление, но не меняет тип результата. Т.е. если аргумент будет иметь тип dec(12,6), то и результат округления будет того же типа, а именно,
В этом легко убедиться, выполнив запрос
Поэтому, если вы хотите избавиться от хвостовых нулей, используйте преобразование к нужному вам типу, например, dec(12,2). Тогда нам и функция ROUND не потребуется. 🙂

Консоль
Выполнить
MS Access 2016 округляет числа
В интернете нигде решения не нашел. Может вы подскажете?
Тип данных: Числовой
Формат: С разделителями
Что происходит: ввожу дробное число, например 26,5, а он сам переводит в 26,0. Просмотрел все, что только можно, нигде не нашел, что исправить.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Почему Access округляет дроби?
Дорогие форумчане, подскажите плиз, в чем причина и как ее ликвидировать — тип поля Числовой.
В первом варианте не округляет до целого числа, а во втором случае округляет
Добрый Вечер Программисты. Подскажите пожалуйста почему в первом варианте не округляет до целого.
Нужно ли устанавливать Access 2003, если в Access 2016 итак возможно разрабатывать БД в формате Access 2003?
Здравствуйте! Подскажите пожалуйста, нужно ли устанавливать Access 2003, если в Access 2016 итак.

Неправильно округляет числа
идея такая, что считается формула, и если остаток от ответа равен точно 0.5, то мы округляем в.
Как убрать округление в access
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Как убрать округление в access
1. При вводе в поле «Оценка» (процентного формата числового типа) любого
значения в дипазоне 50..100 (например, 73) происходит округление до 100%; в
диапазоне 0..50 — округление до 0%. Помогает замена типа поля на «Денежный» с
оставлением формата «Процентный», в этом случае округления нет. Как убрать
округление без изменения типа поля?
2. При создании запроса на выборку (среди прочих) того же поля «Оценка»
(имеющего денежный тип и процентный формат) с условием отбора от 75% до 100%
не работает ни одно из равнозначащих выражений «Between 75 And 100» и «>=75
And другого синтаксиса («>=»75%» And <="100%"") или (">=’75%’ And <='100%') или
те же самые варианты, что в скобках, но без символа процентов, ничего не
меняется. При этом выражение «>=75 Or использовании оператора «AND» в поле с процентным форматом. Как её решить
(опять же без изменения типа поля на «Текстовый»)?
Делаю семестровую, очень нужна помощь. В мануале по Access ответов не нашёл.
Alex Dybenko
2007-11-06 10:27:55 UTC
видимо тип поля — целый, и т.к. 50% — это 0.5 — то и происходит округление
до 1. Соответственно для условий нудо писать:
Between .75 And 1
—
С уважением,
___________
Алексей Дыбенко (MVP)
http://alexatpoint.blogspot.com
http://www.PointLtd.com
Post by Mavr
1. При вводе в поле «Оценка» (процентного формата числового типа) любого
значения в дипазоне 50..100 (например, 73) происходит округление до 100%;
в
диапазоне 0..50 — округление до 0%. Помогает замена типа поля на
«Денежный» с
оставлением формата «Процентный», в этом случае округления нет. Как убрать
округление без изменения типа поля?
2. При создании запроса на выборку (среди прочих) того же поля «Оценка»
(имеющего денежный тип и процентный формат) с условием отбора от 75% до
100%
не работает ни одно из равнозначащих выражений «Between 75 And 100» и
«>=75
And другого синтаксиса («>=»75%» And <="100%"") или (">=’75%’ And <='100%')
или
те же самые варианты, что в скобках, но без символа процентов, ничего не
меняется. При этом выражение «>=75 Or использовании оператора «AND» в поле с процентным форматом. Как её решить
(опять же без изменения типа поля на «Текстовый»)?
Делаю семестровую, очень нужна помощь. В мануале по Access ответов не
нашёл.
2007-11-08 16:47:03 UTC
Вы не поняли. У меня тип поля — денежный, а формат поля — процентный (т.е.
то число, которое я ввожу в это поле, автоматически дополняется символом
процентов). Целым тип поля быть не может, целым может быть его размер. Но в
денежном типе нет размера поля, есть лишь его (поля) формат. Соответственно,
Ваша версия не подходит.
Добавлено: оказвается, можно сделать тип поля «Числовой», размер —
«Одинарный (или двойной) с плавающей точкой», а формат — «Процентный». Но и в
этом случае запрос не работает.
