Как убрать округление чисел в access
Перейти к содержимому

Как убрать округление чисел в access

  • автор:

Как избежать округления чисел в MS Access 2007-2013?

моя цель состоит в том, чтобы преобразовать эту таблицу MS Access в текстовый файл в формате, разделяющем запятую. Я иду на вкладку внешние данные > раздел экспорт > текстовый файл. Я не указываю параметры экспорта и нажимаю OK. Я выбираю файл, который будет разделен > нажмите Next > выберите запятую > нажмите Finish.

однако, в результате .txt-файл, я получаю lat и длинные поля округлены до двух десятичных знаков. Я просмотрел настройки ячейки в Access, но без успеха. Как избежать этого округления?

1 ответов

насколько я знаю, единственный способ изменить это (довольно раздражающее) поведение в Access-открыть » региональные и языковые параметры «на панели управления Windows, нажмите «Настроить этот формат». «кнопка на вкладке «форматы», затем изменить «нет. цифр после запятой «значение на вкладке «числа»:

NumbersTab.png

2 — Это очень распространенное значение по умолчанию. В приведенном выше диалоговом окне я изменил его на 5 .

Как избежать округления чисел в MS Access 2007-2013?

Моя цель — преобразовать эту таблицу MS Access в текстовый файл с разделением запятыми. Я иду на вкладку Внешние данные> Экспорт раздела> Текстовый файл. Я не указываю никаких параметров экспорта и нажимаю ОК. Я выбираю файл с разделителями> нажмите «Далее»> «Выберите запятую»> «Готово».

Тем не менее, в результате. TXT-файл я получаю поля lat и long, округленные до двух десятичных знаков. Я просмотрел настройки ячейки в Access, но безуспешно. Как мне избежать этого округления?

Ребята, как в Access сделать так,чтобы он не округлял числа?

Так как и везде не обязательно в именно Access, просто запомни, что для цифр существует целый тип данных и вещественных, целый не может хранить дробную часть и она будет округляться, конкретно что у Doctor_ на скрине Byte,Integer, Long Integer — это целые типы данных разница в них только в том что под эти типа выделяется разное количество памяти, byte только хранит числа от 0. 255 больше не может, Integer уже до 32767, а другой еще больше, к вещественным типам относится Single, Double,(под Single выделяется меньше памяти, под Double, больше) другие там уже для других целей(только скрин описываю, на самом деле этих типов гораздо больше). Не какой магии.

Часто задаваемый вопрос Банковское округление

Вас может удивить то, что Access округляет число 21.985 до 21.98. Если вас учили ок­руглять до большего числа, числа заканчивающиеся цифрой 5, то вы считаете, что ре­зультат должен быть 21.99. Этот способ называют арифметическим округлением. Про­грамма Access не применяет арифметическое округление — она выбирает банковское округление, которое лучше в некоторых случаях.

Разница между арифметическим и банковским округлением заключается в трактовке цифры 5. Поскольку число 21.985 находится точно в середине, между числами 21.98 и 21.99, не просто решить, что с ним делать. При постоянном округлении числа с 5 на кон­це до большего числа вносится систематическое отклонение в итоги и средние значения. Поскольку вы округляете до большего чаще, чем до меньшего, любые итоги или среднее, которые вы вычисляете, получаются чуть больше, чем следовало бы.

Банковское округление решает эту проблему округлением 5 в одних случаях до большего числа, а в других до меньшего, в зависимости от соседней четной или нечетной цифры.

Число 21.985 округляется до меньшего числа 21.98, а число 21.995 — до большего, 22. Это не единственный способ борьбы с систематическим отклонением (можно решать случайным образом, когда округлять, а когда нет), но это общепринятая практика в бух­галтерских расчетах и статистике.

Вложенные функции

В вычисляемом поле или условии отбора можно применять несколько функций. Этот прием известен как вложенные функции: специальный термин, обозначающий вставку одной функ­ции внутрь другой. Например, в программе Access есть встроенная функция определения абсолютного значения числа Abs ( ), преобразующая отрицательные числа в положительные (и оставляющая положительные числа без изменения). Далее приведен пример деления одного поля на другое и получения в результате заведомо положительного значения:

Speed: Abs ([DistanceTravelled] / [TimeTaken])

Если полученный результат нужно округлить, можно поместить целиком все выражение внутрь скобок функции Round ( ):

Speed: Round (Abs([DistanceTravelled] / [TimeTaken]), 2)

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

Speed: Abs(Round([DistanceTravelled] / [TimeTaken], 2) )

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

Вложенные функции быстро превращают выражение в потенциально опасное. Даже в сравнительно простом примере вычисления скорости трудно предсказать результат без по­шагового вычисления выражения. Одна не на месте стоящая или пропущенная скобка мо­жет привести к сбою вычисления. Если вы применяете вложенные функции, не пишите сра­зу выражение целиком — включайте функции в выражение поочередно и после вставки очередной функции выполняйте вычисление.

Построитель выражений

Функции — замечательное нововведение, но в программе Access может оказаться слишком много замечательных вещей. Программа предлагает перечень из десятков различных функ­ций, связанных с решением разнообразных задач, некоторые из этих функций предназначе­ны для выполнения специализированных математических и статистических вычислений.

Для быстрого поиска нужных вам функций Access предлагает компонент, именуемый Построителем выражений. Для его запуска выполните следующие действия:

Откройте запрос в Конструкторе.

Щелкните правой кнопкой мыши поле, в которое вы хотите вставить выражение, и выберите команду Построить (Build).

Если вы создаете вычисляемое поле, нужно щелкнуть правой кнопкой мыши в ячейке Поле, Если создается условие отбора, следует щелкнуть правой кнопкой мыши в ячейке Условие отбора.

После выбора командыПостроить на экране появляется окно Построителя выражений, отображающее текущее содержимое поля (рис. 7.3).

Рис. 7.3. Построитель выражений состоит из текстового поля в верхней части окна, в котором можно редактировать выражение, кнопок быстрой вставки знаков обычных операций (таких как +, -, / и *, если почему-либо вы не можете их найти на клавиатуре), и трехпанельного обозревателя в нижней части окна, который поможет найти нужные поля и функции

3. Вставьте или отредактируйте выражение.

У Построителя выражений есть два ускоряющих приема работы, которые вы, может быть, захотите испробовать. Можно вставлять имя без ввода с клавиатуры (рис. 7.4) и можно найти функцию с помощью обзора (рис. 7.5).

Построитель выражений — универсальное средство создания выражений в вычисляемых по­лях и условиях отбора. Некоторые параметры имеют смысл только в одном из его назначений. Логические операторы, такие как символ равенства (=), And, Or, Not и Like, удобны для за­дания условий фильтрации (см. разд. «Построение условий отбора» главы 6), но бесполезны в вычисляемых полях.

Рис. 7.4. Для вставки имени поля щелкните дважды кнопкой мыши папку Таблицы в самом левом списке. Затем щелкните мышью вложенную папку, соответствующую нужной вам таблице. И, наконец, дважды щелкните кнопкой мыши имя поля в среднем списке для добавления его в ваше выражение. Этот прием рекомендуется только тем, кто любит щелкать кнопкой мыши

Рис. 7.5. Для поиска функции начните с двойного щелчка кнопкой мыши папки Функции в левом списке. Затем выберите вложенную папку Встроенные функции. (Другие варианты отображают любые пользовательские функции, которые вы добавили в вашу БД с помощью пользовательского кода VBA.) Далее выберите категорию функции в среднем списке. В правом списке показаны все функции в выбранной категории. Вы можете дважды щелкнуть кнопкой мыши функцию для вставки ее в выражение

Когда вы вставляете имена полей в Построителе выражений, они записываются в более длинном формате с обязательным указанием имени таблицы. Вы увидите [Products] ! [Price] вместо просто [Price]. He волнуйтесь — для программы Access это одно и то же.

4. Щелкните мышью кнопку ОК.

Программа Access скопирует ваше новое выражение в ячейку Поле или Условие отбора.

Когда вПостроителе выражений вставляется функция, программа добавляет заполнители (например, <number> и <precision>), на место которых нужно ввести аргументы. Замени­те этот текст нужными вам значениями.

Рис. 7.6. В справке функции Round () описываются ее назначение и два параметра. Второй параметр — количество знаков в дробной части — заключен в квадратные скобки, что означает необязательное значение. Пропустите его, и программа Access округлит значение до ближайшего целого числа. Слева приведен перечень функций, который позволяет просмотреть любую другую функцию Access и прочесть ее описание

Большинство специалистов Access считают Построитель выражений слишком тяжело­весным, чтобы использовать его в работе. Но несмотря на то, что это не самое эффективное средство написания выражений, построитель предоставляет прекрасный способ знакомства с новыми загадочными функциями, благодаря своей справке для встроенных функций. Если вы нашли функцию, которая кажется многообещающей, но хотите получить дополнитель­ную информацию, выберите ее в списке и щелкните мышью кнопку Справка (Help). Вы будете вознаграждены кратким резюме, объясняющим назначение функции и описываю­щим ее параметры, которые нужно задать, как показано на рис. 7.6.

Форматирование чисел

Format ( ) — интересная математическая функция, преобразующая числа в текст. Она инте­ресна, потому что создаваемый текст можно отформатировать несколькими способами, управляя, таким образом, представлением чисел.

Для того чтобы понять разницу, вернемся к выражению, использованному ранее для снижения цены:

SalePrice: [Price] * 0.95

Даже если у поля Price не Денежный тип, вычисленные значения в поле SalePrice (продажная цена) выводятся как обычные числа (без знака валюты, разделителя тысяч и т. д.). Вы увидите значение 43.2 вместо желаемого $43.20.

Решить эту проблему можно, применив функцию Format ( ) для задания денежного формата вывода:

SalePrice: Format([Price] / 0.95, «Currency»)

Теперь вычисленные значения содержат знак валюты. Более того, поскольку денежные суммы отображаются с двумя знаками после точки, вам не нужно больше применять функ­цию Round ( ).

Хитрость применения функции Format () состоит в выборе текста, задаваемого в каче­стве второго аргумента для получения желаемого результата. В табл. 7.2. приведены воз­можные варианты.

Таблица 7.2. Варианты форматирования

Выводит число с двумя знаками в дробной части, разделителями для тысяч и знаком валюты

Отображает число с двумя десятичными знаками

Выводит на экран число с двумя десятичными знака­ми и разделителями тысяч

Отображает процентное значение (число, умноженное на 100, и со знаком процента). Выводит две цифры справа от десятичной точки

Отображает число в научной нотации с двумя деся­тичными знаками

Таблица 7.2 (окончание)

Отображает Нет, если число равно 0, и Да, если число отлично от 0. Можно использовать аналогичные типы формата Истина/Ложь и Вкл/Выкл

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *