Как в c округлить число до сотых
Перейти к содержимому

Как в c округлить число до сотых

  • автор:

Округление числа до необходимого десятичного разряда

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

Округление числа до ближайшей основной единицы

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

С помощью кнопки

  1. Выделите ячейки, которые нужно отформатировать.
  2. Перейдите на главную >число и выберите Увеличить десятичное или Уменьшить десятичное число, чтобы отобразить больше или меньше цифр после запятой.

Применение встроенного числового формата

Группа «Число» на вкладке «Главная»

    Перейдите в раздел Главная >Число, щелкните стрелку рядом со списком числовых форматов, а затем выберите Дополнительные числовые форматы.

Использование функции в формуле

Округлите число до необходимого количества цифр с помощью функции ОКРУГЛ. Эта функция имеет только два аргумента (аргументы — это части данных, необходимые для выполнения формулы).

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

Предположим, что ячейка A1 содержит число 823,7825. Вот как можно округлить его.

  • Чтобы округлить до ближайшей тысячи
    • Введите =ОКРУГЛ(A1;-3), что равно 1000
    • Число 823,7825 ближе к 1000, чем к 0 (0 кратно 1000 )
    • В этом случае используется отрицательное число, поскольку округление должно состоятся влево от запятой. Такое же число применяется в следующих двух формулах, которые округляют до сотен и десятков.
    • Введите =ОКРУГЛ(A1;-2), что равно 800
    • Число 800 ближе к 823,7825, чем к 900. Наверное, теперь вам все понятно.
    • Введите =ОКРУГЛ(A1;-1), что равно 820
    • Введите =ОКРУГЛ(A1;0), что равно 824
    • Используйте ноль для округления числа до ближайшей единицы.
    • Введите =ОКРУГЛ(A1;1), что равно 823,8
    • В этом случает для округления числа до необходимого количества разрядов используйте положительное число. То же самое касается двух следующих формул, которые округляют до сотых и тысячных.
    • Введите =ОКРУГЛ(A1;2), что равно 823,78
    • Введите =ОКРУГЛ(A1;3), что равно 823,783

    Округлите число в большую сторону с помощью функции ОКРУГЛВВЕРХ. Она работает точно так же, как функция ОКРУГЛ, за исключением того, что она всегда округляет число в большую сторону. Например, если необходимо округлить число 3,2 до ноля разрядов:

    • =ОКРУГЛВВЕРХ(3,2;0), что равно 4

    Округлите число вниз с помощью функции ОКРУГЛВНИЗ. Она работает точно так же, как функция ОКРУГЛ, за исключением того, что она всегда округляет число в меньшую сторону. Например, необходимо округлить число 3,14159 до трех разрядов:

    • =ОКРУГЛВНИЗ(3,14159;3), что равно 3,141

    Совет: Чтобы познакомиться с другими примерами и поработать с ними в книге Excel Online, см. статьи Функция ОКРУГЛ,Функция ОКРУГЛВВЕРХ и Функция ОКРУГЛВНИЗ.

    Округление вверх, вниз или до четного или нечетного значения

    1. Щелкните пустую ячейку.
    2. На вкладке Формулы в разделе Функция нажмите кнопку Построитель формул.
    3. Выполните любое из описанных ниже действий.
    Задача В построителе формул найдите и дважды щелкните В разделе Аргументы
    Округление числа вверх РАУНДАП В поле number введите округляемую цифру. В num_digits введите 0 , чтобы округлить число до ближайшего целого числа.
    Округление числа вниз ROUNDDOWN В поле number введите число, округляющееся вниз. В num_digits введите 0 , чтобы округлить число до ближайшего целого числа.
    Округление до четного числа ДАЖЕ В поле number введите округляемую цифру.
    Округление до нечетного числа СТРАННО В поле number введите округляемую цифру.
    Округление числа до ближайшего числа, кратного другому числу MROUND Щелкните поле рядом с полем Несколько, а затем введите число, для которого требуется ближайший кратный.

    Выбор фиксированного десятичного разделителя для цифр

    Стандартный десятичный разделитель для чисел можно настроить в параметрах Excel.

      Щелкните Параметры (с Excel 2010 до Excel 2016) или кнопку Microsoft Office

    Примечание: Например, если ввести 3 в поле Число знаков после запятой, а затем — 2834 в ячейке, то значение будет равно 2,834. Если ввести –3 в поле Число знаков после запятой, а затем — 283 в ячейке, то значение будет равно 283000.

    Примечание: Установка флажка Фиксированный десятичный формат не влияет на уже введенные данные.
    Советы и рекомендации

    • Чтобы не использовать для числа параметр «Фиксированный десятичный формат», при его вводе добавьте десятичную запятую.
    • Чтобы удалить десятичные запятые из чисел, введенных с использованием фиксированного десятичного формата, сделайте следующее:
    • Щелкните Параметры (с Excel 2010 до Excel 2016) или кнопку Microsoft Office

    Дополнительные сведения

    Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

    C++. Округление дробных чисел до сотых. Ума не приложу, есть ли не-велосипедный способ это сделать.

    Как без строительства своих велосипедов, округлить, например, число 34.87612 до 34.88? Есть функция в стандартной библиотеке?

    Лучший ответ

    Нет и быть не должно. Вещественное число может быть представлено в экспоненциальной форме. Что вы там округлять собрались?

    Остальные ответы
    #include

    double x = 5.5456475;
    double a = SimpleRoundTo(x, -2);//a = 5.55

    Либо
    a = 34.87612
    b = round( a * 100 ) / 100;
    Похожие вопросы
    Ваш браузер устарел

    Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

    Функции округления

    Возвращает наибольшее круглое число, которое меньше или равно, чем x. Круглым называется число, кратное 1 / 10N или ближайшее к нему число соответствующего типа данных, если 1 / 10N не представимо точно. N — целочисленная константа, не обязательный параметр. По умолчанию — ноль, что означает — округлять до целого числа. N может быть отрицательным.

    Примеры: floor(123.45, 1) = 123.4, floor(123.45, -1) = 120.

    x — любой числовой тип. Результат — число того же типа. Для целочисленных аргументов имеет смысл округление с отрицательным значением N (для неотрицательных N, функция ничего не делает). В случае переполнения при округлении (например, floor(-128, -1)), возвращается implementation specific результат.

    ceil(x [ , N ] )​

    Возвращает наименьшее круглое число, которое больше или равно, чем x. В остальном, аналогично функции floor, см. выше.

    round(x [ , N ] )​

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

    Функция возвращает ближайшее значение указанного порядка. В случае, когда заданное число равноудалено от чисел необходимого порядка, для типов с плавающей точкой (Float32/64) функция возвращает то из них, которое имеет ближайшую чётную цифру (банковское округление), для типов с фиксированной точкой (Decimal) функция использует округление в бо́льшую по модулю сторону (математическое округление).

    round(expression [, decimal_places]) 

    Аргументы

    • expression — число для округления. Может быть любым выражением, возвращающим числовой тип данных.
    • decimal-places — целое значение.
      • Если decimal-places > 0 , то функция округляет значение справа от запятой.
      • Если decimal-places < 0 то функция округляет значение слева от запятой.
      • Если decimal-places = 0 , то функция округляет значение до целого. В этом случае аргумент можно опустить.

      Возвращаемое значение:

      Округлённое значение того же типа, что и входящее.

      Примеры​

      Пример использования с Float

      SELECT number / 2 AS x, round(x) FROM system.numbers LIMIT 3 
      ┌───x─┬─round(divide(number, 2))─┐ │ 0 │ 0 │ │ 0.5 │ 0 │ │ 1 │ 1 │ └─────┴──────────────────────────┘ 

      Пример использования с Decimal

      SELECT cast(number / 2 AS Decimal(10,4)) AS x, round(x) FROM system.numbers LIMIT 3 
      ┌──────x─┬─round(CAST(divide(number, 2), 'Decimal(10, 4)'))─┐ │ 0.0000 │ 0.0000 │ │ 0.5000 │ 1.0000 │ │ 1.0000 │ 1.0000 │ └────────┴──────────────────────────────────────────────────┘ 

      Примеры округления

      Округление до ближайшего числа.

      round(3.2, 0) = 3 round(4.1267, 2) = 4.13 round(22,-1) = 20 round(467,-2) = 500 round(-467,-2) = -500 
      round(3.5) = 4 round(4.5) = 4 round(3.55, 1) = 3.6 round(3.65, 1) = 3.6 

      Смотрите также

      roundBankers​

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

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

      Банковское округление (англ. banker's rounding) — метод округления дробных чисел. Если округляемое число равноудалено от соседних чисел, то оно округляется до ближайшей чётной цифры заданного десятичного разряда. К примеру, 3,5 округляется до 4, а 2,5 до 2. Этот метод округления, используемый по умолчанию для чисел с плавающей запятой, определён в стандарте [IEEE 754](https://en.wikipedia.org/wiki/IEEE_754#Roundings_to_nearest). Функция [round](#rounding_functions-round) также округляет числа с плавающей запятой по этому методу. Функция `roundBankers` округляет не только числа с плавающей запятой, но и целые числа методом банковского округления, например, `roundBankers(45, -1) = 40`. 

      Банковское округление позволяет уменьшить влияние округления чисел на результат суммирования или вычитания этих чисел.

      Пример суммирования чисел 1.5, 2.5, 3.5 и 4.5 с различным округлением:

      • Без округления: 1.5 + 2.5 + 3.5 + 4.5 = 12.
      • Банковское округление: 2 + 2 + 4 + 4 = 12.
      • Округление до ближайшего целого: 2 + 3 + 4 + 5 = 14.

      Синтаксис

      roundBankers(expression [, decimal_places]) 

      Аргументы

      • expression — число для округления. Может быть любым выражением, возвращающим числовой тип данных.
      • decimal-places — десятичный разряд. Целое число.
        • decimal-places > 0 — функция округляет значение выражения до ближайшего чётного числа на соответствующей позиции справа от запятой. Например, roundBankers(3.55, 1) = 3.6 .
        • decimal-places < 0 — функция округляет значение выражения до ближайшего чётного числа на соответствующей позиции слева от запятой. Например, roundBankers(24.55, -1) = 20 .
        • decimal-places = 0 — функция округляет значение до целого. В этом случае аргумент можно не передавать. Например, roundBankers(2.5) = 2 .

        Возвращаемое значение

        Округлённое значение по методу банковского округления.

        Пример использования

         SELECT number / 2 AS x, roundBankers(x, 0) AS b fROM system.numbers limit 10 
        ┌───x─┬─b─┐ │ 0 │ 0 │ │ 0.5 │ 0 │ │ 1 │ 1 │ │ 1.5 │ 2 │ │ 2 │ 2 │ │ 2.5 │ 2 │ │ 3 │ 3 │ │ 3.5 │ 4 │ │ 4 │ 4 │ │ 4.5 │ 4 │ └─────┴───┘ 

        Примеры банковского округления

        roundBankers(0.4) = 0 roundBankers(-3.5) = -4 roundBankers(4.5) = 4 roundBankers(3.55, 1) = 3.6 roundBankers(3.65, 1) = 3.6 roundBankers(10.35, 1) = 10.4 roundBankers(10.755, 2) = 10,76 

        Смотрите также

        roundToExp2(num)​

        Принимает число. Если число меньше единицы — возвращает 0. Иначе округляет число вниз до ближайшей (целой неотрицательной) степени двух.

        roundDuration(num)​

        Принимает число. Если число меньше единицы — возвращает 0. Иначе округляет число вниз до чисел из набора: 1, 10, 30, 60, 120, 180, 240, 300, 600, 1200, 1800, 3600, 7200, 18000, 36000. Эта функция специфична для Яндекс.Метрики и предназначена для реализации отчёта по длительности визита.

        roundAge(num)​

        Принимает число. Если число меньше 18 — возвращает 0. Иначе округляет число вниз до чисел из набора: 18, 25, 35, 45, 55. Эта функция специфична для Яндекс.Метрики и предназначена для реализации отчёта по возрасту посетителей.

        Учимся округлять в C#

        А знаете ли вы, что Math.Round(1.5) == Math.Round(2.5) == 2 ? Можете ли сходу сказать, сколько будет -7%3 и 7%-3 ? Помните ли, чем отличаются Math.Round , Math.Floor , Math.Ceiling , Math.Truncate ? А как происходит округление при использовании string.Format ? Давайте немного погрузимся в мир округлений и разберёмся с нюансами, которые не для всех могут быть очевидными.

        Math.Round

         Math.Round — это метод округления к ближайшему числу или к ближайшему числу с заданным количеством знаков после запятой. Работает с типами decimal и double , в параметрах можно встретить три вида параметров:
        • value : округляемое число
        • digits : количество знаков в дробной части, которые нужно оставить
        • mode : параметр, который определяет в какую сторону округлять число, которое находится ровно посередине между двумя вариантами

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

        Обратите внимание, что по умолчанию mode == MidpointRounding.ToEven , поэтому Math.Round(1.5) == Math.Round(2.5) == 2 .

        Math.Floor, Math.Ceiling, Math.Truncate

        Сводная таблица

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

        Округление проводится в соответствии со стандартом IEEE Standard 754, section 4.

        Целочисленное деление и взятие по модулю

        В C# есть два замечательных оператора над целыми числами: / для целочисленного деления (MSDN) и % для взятия остатка от деления (MSDN). Деление производится по следующим правилам:

        • При целочисленном делении результат всегда округляется по направлению к нулю.
        • При взятии остатка от деления должно выполняться следующее правило: x % y = x – (x / y) * y

        Также можно пользоваться шпаргалкой:

        string.Format

        При форматировании чисел в виде строки можно пользоваться функцией string.Format (см. Standard Numeric Format Strings, Custom Numeric Format Strings). Например, для вывода числа с двумя знаками после десятичной точки можно воспользоваться string.Format(«», value) или string.Format(«», value) . Округление происходит по принципу AwayFromZero . Проиллюстрируем правила округления очередной табличкой:

        ", value) |       

        Задачи

        На приведённую тему есть две задачки в ProblemBook.NET: Rounding1, Rounding2.

        • GitHub
        • Twitter
        • RSS

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

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