Округлять числа после запятой. Округление чисел

Правила округления чисел после запятой: как правильно округлять до единиц, сотых, тысячных и целых

Округлять числа после запятой. Округление чисел

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

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

Напомним основные моменты этого действия….

Круглое число

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

На вопрос, где в повседневной жизни пригодиться такое умение, можно смело ответить – при элементарных походах по магазинам.

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

Именно с круглыми числами легче выполнять подсчеты, не используя при этом калькулятор.

К примеру, если в супермаркете или на рынке покупают овощи весом 2 кг 750 г, то в простом разговоре с собеседником зачастую не называют точный вес, а говорят, что приобрели 3 кг овощей. При определении расстояния между населенными пунктами также применяют слово «около». Это и значит приведение результата к удобному виду.

Следует отметить, что при некоторых подсчетах в математике и решении задач также не всегда используются точные значения. Особенно это актуально в тех случаях, когда в ответе получают бесконечную периодическую дробь. Приведем несколько примеров, когда используются приближенные значения:

  • некоторые значения постоянных величин представляются в округленном виде (число «пи» и прочее),
  • табличные значения синуса, косинуса, тангенса, котангенса, которые округлены до определенного разряда.

Обратите внимание! Как показывает практика, приближение значений к целому, конечно, дает погрешность, но сосем незначительную. Чем выше разряд, тем точнее будет результат.

Получение приближенных значений

Это математическое действие осуществляется по определенным правилам.

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

А вот с обыкновенными дробями действие не выполняется.

Сначала их необходимо перевести в десятичные дроби, а затем приступить к процедуре в необходимом контексте.

Правила приближения значений заключаются в следующем:

  • для целых – замена разрядов, следующих за округляемым, нулями,
  • для десятичных дробей – отбрасывания всех чисел, которые находятся за округляемым разрядом.

К примеру, округляя 303 434 до тысяч, необходимо заменить сотни, десятки и единицы нулями, то есть 303 000. В десятичных дробях 3,3333 округляя до десятых, просто отбрасывают все последующие цифры и получают результат 3,3.

! Что такое деление с остатком: примеры для ребенка в 3, 4 классе

Точные правила округления чисел

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

Если в магазине куплено 2 кг 150 г конфет, то говорят, что приобретено около 2 кг сладостей. Если же вес составляет 2 кг 850 г, то производят округление в большую сторону, то есть около 3 кг.

То есть видно, что иногда округляемый разряд изменен. Когда и как это проделывают, смогут ответить точные правила:

  1. Если после округляемого разряда следует цифра 0, 1, 2, 3 или 4, то округляемый оставляют неизменным, а все последующие цифры отбрасываются.
  2. Если после округляемого разряда следует цифра 5, 6, 7, 8 или 9, то округляемый увеличивают на единицу, а все последующие цифры также отбрасываются.

К примеру, как правильно дробь 7,41 приблизить к единицам. Определяют цифру, которая следует за разрядом. В данном случае это 4. Следовательно, согласно правилу, число 7 оставляют неизменным, а цифры 4 и 1 отбрасывают. То есть получаем 7.

Если округляется дробь 7,62, то после единиц следует цифра 6. Согласно правилу, 7 необходимо увеличить на 1, а цифры 6 и 2 отбросить. То есть в результате получится 8.

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

Приближение до целых

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

Представим пример приближения 756,247 до десятков. В разряде десятых располагается цифра 5. После округляемого разряда следует цифра 6.

Следовательно, по правилам необходимо выполнить следующие шаги:

  • округление в большую сторону десятков на единицу,
  • в разряде единиц цифру 6 заменяют нулем,
  • цифры в дробной части числа отбрасываются,
  • в результате получают 760.

Обратим внимание на некоторые значения, в которых процесс математического округления до целых по правилам не отображает объективную картину. Если взять дробь 8,499, то, преобразовывая его по правилу, получаем 8.

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

Получаем 9, что, в принципе, не сосем точно. То есть в таких значениях погрешность существенна. Поэтому оцениваем задачу и, если ситуация позволяет, то лучше использовать значение 8,5.

! Изучение точного предмета: натуральные числа — это какие числа, примеры и свойства

Приближение до десятых

Как округлить до десятых, до сотых, до тысячных? Операция осуществляется по таким же правилам, как и до целых. Основная задача – правильно определить округляемый разряд и знак, который следует за ним.

К примеру, дробь 6,7864 при доведении:

  • до десятых становится равной 6,8,
  • до сотых – 6,79,
  • если округлить до тысячных, то получают 6,786.

Обратите внимание! Незнание этих правил очень удачно используют маркетологи. В магазинах, наблюдая ценник с указанием числа 5,99, большинством покупателей воспринимается цена, равная 5. В действительности же цена товара практически 6.

Математика учимся округлять числа

Правила округления чисел до десятых

,,

Вывод

Приоритетов умения выполнять такие математические операции можно привести ещё достаточно много. Важно научиться правильно оценивать ситуацию, задаться целью, и результат придет незамедлительно.

! Изучаем математику в игровой форме: как ребенку быстро выучить таблицу умножения

Источник: https://tvercult.ru/nauka/legkie-pravila-okrugleniya-chisel-posle-zapyatoy

Округление чисел в Java

Округлять числа после запятой. Округление чисел

Числа с плавающей точкой (float, double) применяются при вычислении выражений, в которых требуется точность до десятичного знака. Высокая точность часто нужна в бухгалтерских и других вычислительных операциях.

Но всегда ли нам нужен длинный “хвост” чисел после запятой? Может нам достаточно точности в три знака вещественной части? И есть нас такой вариант устраивает, как правильно выполнить округление? Именно об этом мы сегодня и поговорим: рассмотрим способы округления чисел в Java.В качестве первого способа мы рассмотрим округление double: double value = 34.766674;String result = String.format(“%.

3f”,value);System.out.print(result);В результате мы отформатируем наше число с плавающей запятой 34766674 с точностью до 3 десятичных разрядов, так как в инструкции для форматирования мы указали три знака после запятой “%.3f. В свою очередь %f при форматировании строки обозначает тип чисел с плавающей запятой, которое включает в себя тип данных double и float в Java.

В примере выше мы выводили полученное значение в консоль. Теперь вопрос: как бы можно было это сократить? Все просто: нужно использовать printf, который в свою очередь является format + print. В итоге предыдущий пример у нас сократился бы до: double value = 34.766674;System.out.printf(“%.

3f”,value);У экземпляра out класса PrintStream помимо этого метода есть ещё метод format, который работает аналогично: double value = 34.766674;System.out.format(“%.3f”,value);Округление происходит по режиму HALF_UP — в сторону числа, которое ближе к обрезаемому (к 0 или 10). Если же эти числа равноудалены (в случае с 5), то округление выполняется в большую сторону.

Пример: String firstResult = String.format(“%.3f”,7.0004);String secondResult = String.format(“%.3f”,7.0005);String thirdResult = String.format(“%.3f”,7.0006);Более подробно режимы округления мы разберем чуть ниже.Еще один вариант — использовать класс DecimalFormat. Он предназначен для форматирования любого числа в Java, будь это целое число или число с плавающей запятой.

При создании экземпляра DecimalFormat мы можем передать ему строку форматирования. Она укажет, сколько десятичных разрядов нужно отформатировать для ввода. Как будет выглядеть наш пример с использованием DecimalFormat: double value = 34.766674;DecimalFormat decimalFormat = new DecimalFormat( “#.###” );String result = decimalFormat.format(value);System.out.print(result);Строка #.

### — это шаблон, который указывает, что мы форматируем передаваемое значение до 3 десятичных знаков. Чтобы изменить шаблон после создания объекта DecimalFormat, можно использовать его методы applyPattern и applyLocalizedPattern: DecimalFormat decimalFormat = new DecimalFormat(“#.###”);decimalFormat.applyPattern(“#.#”);decimalFormat.applyLocalizedPattern(“#.

#####”);Но мы сегодня говорим про округление, не правда ли? При обрезании числа с знаками после запятой, выходящими за заданный шаблон, DecimalFormat округляет число в большую сторону, если последний обрезаемое число больше 5. Но что если число — 5? Получается, что оно ровно посередине между ближайшими целыми. Что тогда? В этом случае учитывается предыдущее число.

Если оно чётное, округление производится: DecimalFormat decimalFormat = new DecimalFormat(“#.###”);String result = decimalFormat.format(7.4565);System.out.println((result));Если нечётное — не производится: DecimalFormat decimalFormat = new DecimalFormat(“#.###”);String result = decimalFormat.format(7.4575);System.out.

println((result));Есть небольшая разница между форматированием чисел с плавающей запятой с использованием String.format() и DecimalFormat.format(). Первый всегда будет печатать конечные нули, даже если нет дробной части. К примеру: String firstResult = String.format(“%.3f”, 7.000132);System.out.println((firstResult)); DecimalFormat decimalFormat = new DecimalFormat(“#.

###”);String secondResult = decimalFormat.format(7.000132);System.out.println((secondResult)); Как мы видим, при форматировании числа 7.000132 с точностью до трёх десятичных разрядов, метод format() у String выводит 7.000, в то время как у DecimalFormat метод format() выведет 7. То есть вы можете выбирать String.format() или DecimalFormat.

format() в зависимости от того, нужны ли вам конечные нули или нет. Применяя вышеописанные способы, мы получали результат в виде строки. Давайте же рассмотрим способы, как можно получить обратно именно числовые значения.Нельзя не упомянуть специальный класс, заточенный под разные арифметические операции с числами — Math.В этом классе есть и методы для округления, но в отличие от уже описанных, они не позволяют задать определенное число знаков после запятой, а округляют до целого числа:

  • Math.ceil() округляет до ближайшего целого числа вверх, но отдаёт не целочисленный тип, а double:

    double value = 34.777774;double result = Math.ceil(value);System.out.println((result));

    Даже если у нас будет 34.0000000, все равно после использования Math.ceil мы получим 35,0.

    Math.floor() округляет до ближайшего целого вниз, также результатом отдаёт double:double value = 34.777774;double result = Math.floor(value);System.out.println((result));

    Опять же, даже если у нас будет значение 34.999999999, то после использования Math.floor мы получим 34,0.

  • Math.round () — округляет до ближайшего целого числа, как результат отдаёт int:

    double value = 34.777774;int result = Math.round(value);System.out.println((result));

    Если у нас число 34.5, округление выполняется до 35, если же чуть чуть меньше 34.499, число обрезается до 34.

    Чтобы не просто обрезать всю вещественную часть, а регулировать этот процесс до определенного количества знаков и при этом округлять, число умножают на 10n (10 в степени n), где n равно количеству необходимых знаков после запятой. После этого применяют какой-нибудь метод класса Math для округления, ну а затем снова делят на 10n:

    double value = 34.777774;double scale = Math.pow(10, 3);double result = Math.ceil(value * scale) / scale;System.out.println((result));

    Math.pow — принимает два аргумента. Первый — число, второй — степень, в которую его нужно возвести.

BigDecimal — это класс, который позволяет работать с числами с плавающей запятой. В частности, его основной фишкой является то, что в нём можно хранить дробные числа произвольной длины (то есть нет ограничения в диапазоне числа). Помимо этого, этот класс хранит различные методы для арифметической обработки, включая округление. Класс данного объекта можно создать, задав в конструктор double, string отображение числа с плавающей запятой, double и MathContext и так далее. MathContext — комбинация правила округления RoundingMode и числа, описывающая общее количество цифр в искомом значении. Правила округления RoundingMode: DOWN — округление в сторону до нуля.UP — режим округления от нуля.CEILING — округление в сторону положительной бесконечности.FLOOR — округление в сторону к отрицательной бесконечности.HALF_UP — округление до «ближайшего соседа», если оба соседа не равноудалены (то есть когда округляемое число — 5). В этом случае выполняется округление вверх.HALF_DOWN — округление в сторону «ближайшего соседа». Если оба соседа не равноудалены, в этом случае округление вниз.HALF_EVEN — округление до «ближайшего соседа», если оба соседа не равноудалены. В этом случае округляются до четного соседа (как в описанном выше DecimalFormat).UNNECESSARY — используется для подтверждения того, что запрошенная операция имеет точный результат. Следовательно, округление не требуется. Пример: MathContext context = new MathContext(5, RoundingMode.HALF_UP);double value = 34.777554;BigDecimal result = new BigDecimal(value, context);System.out.println(result); Помимо возможности задавать правило округления в конструкторе, BigDecimal позволяет задать режим округления уже после создания экземпляра. Для этого используется метод setScale, в который нужно задать количество знаков после запятой и правила округления: double value = 34.777554;BigDecimal result = new BigDecimal(value);result = result.setScale(3, RoundingMode.DOWN);System.out.println(result); Также у BigDecimal есть внутренние int переменные, предназначенные для задания режима округления (ROUND_DOWN, ROUND_CEILING, ROUND_FLOOR…) Представляют собой правила округления, аналогичные представленным в классе RoundingMode и аналогично используются в setScale: BigDecimal result = new BigDecimal(value);result = result.setScale(3, BigDecimal.ROUND_DOWN);Подробнее о классе BigDecimal — в этой статье.

Источник: https://javarush.ru/groups/posts/2773-okruglenie-chisel-v-java

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.