Как ограничить число знаков после запятой в c


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

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

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

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

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

  1. Выделите ячейки, которые нужно отформатировать.

  2. На вкладке Главная выберите команду Увеличить разрядность или Уменьшить разрядность, чтобы отобразить больше или меньше цифр после запятой.

С помощью встроенного числового формата

  1. На вкладке Главная в группе Число щелкните стрелку рядом со списком числовых форматов и выберите пункт Другие числовые форматы.

  1. В списке Категория выберите значение Денежный, Финансовый, Процентный или Экспоненциальный в зависимости от типа ваших данных.

  2. В поле Число десятичных знаков введите число знаков после запятой, которые вы хотите отображать.

С помощью функции в формуле

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

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

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

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

  • Чтобы округлить до ближайшей тысяч и

    • Введите =ОКРУГЛ(A1;-3), что равно 1000

    • Число 823,7825 ближе к 1000, чем к 0 (0 кратно 1000 )

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

  • Чтобы округлить до ближайших сотен

    • Введите =ОКРУГЛ(A1;-2), что равно 800

    • Число 800 ближе к 823,7825, чем к 900. Наверное, теперь вам все понятно.

  • Чтобы округлить до ближайших десятков

  • Чтобы округлить до ближайших единиц

  • Чтобы округлить до ближайших десятых

    • Введите =ОКРУГЛ(A1;1), что равно 823,8

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

  • Чтобы округлить до ближайших сотых

  • Чтобы округлить до ближайших тысячных

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

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

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

  1. Щелкните пустую ячейку.

  2. На вкладке Формулы в разделе Функция нажмите кнопку Построитель формул.

  3. Выполните любое из описанных ниже действий.

    Задача

    В построитель формул найдите и дважды щелкните

    В области Аргументы

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

    Раундап

    Введитечисло, округля его. В num_digitsвведите 0, чтобы округить число до ближайшего целого.

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

    ROUNDDOWN

    Введитечисло, округля его вниз. В num_digitsвведите 0, чтобы округить число до ближайшего целого.

    Округка до 1 0

    Даже

    Введитечисло, округля его.

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

    Странно

    Введитечисло, округля его.

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

    MROUND

    Щелкните поле рядом с несколькимии введите ближайшее число, кратное.

  4. Нажмите клавишу RETURN.

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

  1. Нажмите кнопку Параметры (Excel 2010 Excel 2016) или кнопку Microsoft Office > Excel Параметры (Excel 2007).

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

  3. В поле Число знаков после запятой введите положительное число для количества цифр справа от запятой или отрицательное число для количества цифр слева от запятой.

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

  4. Нажмите кнопку ОК.

    В строке состояния будет отображаться индикатор Фиксированный десятичный формат.

  5. Выберите ячейку на листе и введите нужное число.

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

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

  • Чтобы удалить десятичные запятые из чисел, введенных с использованием фиксированного десятичного формата, сделайте следующее:

    1. Нажмите кнопку Параметры (Excel 2010 Excel 2016) или кнопку Microsoft Office > Excel Параметры (Excel 2007).

    2. В категории Расширенные параметры в разделе Параметры правки снимите флажок Автоматическая вставка десятичной запятой.

    3. В пустой ячейке введите число, соответствующее числу десятичных знаков, которое вы хотите удалить, например 10, 100 или 1000.

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

    4. На вкладке Главная в группе Буфер обмена нажмите кнопку Копировать или нажмите CTRL+C.

    5. Выделите на листе ячейки, содержащие числа с десятичными разрядами, которые вы хотите изменить.

    6. На вкладке Главная в группе Буфер обмена щелкните стрелку под кнопкой Вставить и выберите команду Специальная вставка.

    7. В диалоговом окне Специальная вставка в разделе "Операция" выберите Умножить.

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

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Округление числа

Почему число округлилось?

Округление числа в Excel - Служба поддержки Майкрософт

Excel

Формулы и функции

Другие функции

Другие функции

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

Excel для Microsoft 365 Excel для Интернета Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще. ..Меньше

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

Изменение количества знаков после запятой без изменения значения

На листе

  1. Выделите ячейки, формат которых требуется изменить.

  2. Чтобы после запятой отображалось больше или меньше знаков, на вкладке Главная в группе Число нажмите кнопку Увеличить разрядность или Уменьшить разрядность .

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

  1. На вкладке Главная в группе Число щелкните стрелку рядом со списком числовых форматов и выберите пункт Другие числовые форматы.

  2. В списке Категория выберите значение Денежный, Финансовый, Процентный или Экспоненциальный в зависимости от типа данных.

  3. В поле Число десятичных знаков введите требуемое число знаков после запятой.

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

Используйте функцию ОКРУГЛВВЕРХ. В некоторых случаях может потребоваться использовать функции ЧЁТН и НЕЧЁТ для округления вверх до ближайшего четного или нечетного числа.

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

Используйте функцию ОКРУГЛВНИЗ.

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

Используйте функцию ОКРУГЛ.

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

Используйте функцию ОКРУГЛ.

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

Значимые разряды — это разряды, которые влияют на точность числа.

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

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

  • Округляемые отрицательные числа прежде всего преобразуются в абсолютные значения (значения без знака "минус"). После округления знак "минус" применяется повторно. Хотя это может показаться нелогичным, именно так выполняется округление. Например, при использовании функции ОКРУГЛВНИЗ для округления числа -889 до двух значимых разрядов результатом является число -880. Сначала -889 преобразуется в абсолютное значение (889). Затем это значение округляется до двух значимых разрядов (880). После этого повторно применяется знак "минус", что дает в результате -880.

  • При применении к положительному числу функции ОКРУГЛВНИЗ оно всегда округляется вниз, а при применении функции ОКРУГЛВВЕРХ — вверх.

  • Функция ОКРУГЛ округляет дробные числа следующим образом: если дробная часть больше или равна 0,5, число округляется вверх. Если дробная часть меньше 0,5, число округляется вниз.

  • Функция ОКРУГЛ округляет целые числа вверх или вниз аналогичным образом, при этом вместо делителя 0,5 используется 5.

  • В общем при округлении числа без дробной части (целого числа) необходимо вычесть длину числа из нужного количества значимых разрядов. Например, чтобы округлить 2345678 вниз до 3 значимых разрядов, используется функция ОКРУГЛВНИЗ с параметром -4: = ОКРУГЛВНИЗ(2345678,-4). При этом число округляется до значения 2340000, где часть "234" представляет собой значимые разряды.

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

Иногда может потребоваться округлить значение до кратного заданному числу. Например, допустим, что компания поставляет товары в ящиках по 18 единиц. С помощью функции ОКРУГЛТ можно определить, сколько ящиков потребуется для поставки 204 единиц товара. В данном случае ответом является 12, так как число 204 при делении на 18 дает значение 11,333, которое необходимо округлить вверх. В 12-м ящике будет только 6 единиц товара.

Может также потребоваться округлить отрицательное значение до кратного отрицательному или дробное — до кратного дробному. Для этого также можно применять функцию ОКРУГЛТ.

Как округлить число до N знаков после запятой - Support

RavenEXP

#1

Итак, я увидел этот пост о моей проблеме (печать с плавающей запятой с определенным количеством десятичных чисел)

И мне было интересно, можно ли использовать метод или что-то еще, а не «%. 2f». формат (значение), чтобы добиться того же

2 лайков

фваско

#2

Вы должны лучше объяснить свою проблему.

Технически вы не можете округлить число с плавающей запятой IEEE 754 0,1 до первого десятичного знака.

Однако вы можете использовать

 fun Double.round(decimals: Int): Double { множитель переменной = 1,0 повтор (десятичные числа) { множитель * = 10 } возврат раунда (этот * множитель) / множитель } 

8 лайков

RavenEXP

#3

Я просто пытаюсь сократить число, скажем, до 2 знаков после запятой.

например я хочу превратить:
pi=3.14159265359
в просто
pi=3.14

Надеюсь вы меня понимаете знаете или хотя бы яснее понимаете.

1 Нравится

Джэёльшин

#4

Если вы хотите округлить двойное значение до определенных знаков после запятой и напечатать его, вы можете использовать java.math.BigDecimal.

 импорт java.math.BigDecimal импортировать java.math.RoundingMode десятичное значение = BigDecimal(3.14159265359).setScale(2, RoundingMode.HALF_EVEN) println(десятичный) // 3.14 

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

 импорт kotlin.math.round println(раунд(3.14159265359 * 100)/100 == 3,14)//правда 

Вы можете сделать то же самое с методом расширения @fvasco.

 3.14159265359.раунд(2) // 3.14 

2 лайка

Драки

#5

На этот * множитель показывает:

Требуется: Int, найдено: Double

фваско

#6

Пожалуйста, рассмотрите возможность импорта round(Double) from kotlin.math.round

2 лайка

Драки

#7

забава Double.round(десятичные числа: Int = 2): Double = "%.${десятичные числа}f".format(this).toDouble()

4 понравилось

дальюкинг

#8

Вы должны понимать, что существует разница между округлением для вывода, которое вы можете сделать с помощью String.format и других методов, и значением, точно равным 3,14. Если вы используете тип double, у вас НИКОГДА, НИКОГДА не будет значения, точно равного 3,14. Даже если у вас есть утверждение вроде:

 val a = 3,14 

Переменная a на самом деле не точно равна значению 3.14. На самом деле это равно 3,1400000000000001243449.78758017532527446746826171875 [Редактировать: изначально я сказал 3.14000010448046875, что является точным значением значения с плавающей запятой 3.14f] .

Если вам нужно значение, точно равное 3,14, ЕДИНСТВЕННЫЙ способ получить его (для JVM) — использовать BigDecimal.

3 лайков

Джонатан.Хаас

#9

дальюкинг:

На самом деле это 3.14000010448046875.

Это может быть и в случае с числами с плавающей запятой (я не проверял), но числа с двойной точностью намного точнее. Но и точно 3.14 тоже конечно не будет.

далюкинг

#10

И для float, и для double одно и то же, что ни один из них не может точно представлять 3.14. Но я случайно показал представление с плавающей запятой, а не двойное. 3.14 как двойное точно равно 3.1400000000000001243449n, где m и n являются целыми числами и практически не ограничены. m=314 и n=-2 дают точное значение 3,14.

Вот почему лучший совет при представлении денег — никогда не использовать float или double и всегда использовать BigDecimal. Вы можете использовать int или long для представления количества пенни, если знаете, что диапазон ограничен. См. Java Practices->Representation money

Недостатком BigDecimal является то, что он медленнее и громоздче в использовании (в меньшей степени в Kotlin), поскольку для него нет встроенной аппаратной поддержки.

феллахи.али

#11

Привет;
Как получить точное значение 3,14, я пытался получить его следующим образом:

 val pi = 3,14 println(pi) // Я получил: 3.14 

Почему?

нбилык

#12

Для преобразования чисел в текст я бы рекомендовал использовать java. text.NumberFormat для JVM и Intl.NumberFormat для JS 9.0005

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

толстяк79

№13

феллахи.али:

Я пытался получить его следующим образом:

 знач. пи = 3,14 println(pi) // Я получил: 3.14 

Почему?

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

1 Нравится

9 октября 2019 г. , 20:59

№15

Обычно при преобразовании для вывода Java (которое затем переносится в Kotlin) будет выводить кратчайшее строковое представление, которое ближе к точному значению, чем к следующему представимому значению с плавающей запятой. Таким образом, если вы попытаетесь проанализировать это строковое представление, вы получите точно такое же значение.

Литерал 3.14 преобразуется в двойное число, имеющее точное значение 3,140000000000000124344978758017532527446746826171875.

The representable double values ​​on either side of this value are:
3.13999999999999968025576890795491635799407958984375
and
3.1400000000000005684341886080801486968994140625

When converting the value to string it outputs 3.14 because that is the shortest representation that is closest to that exact value than it is to either of эти 2 окружающих значения.

Тот факт, что он печатает 3,14, не означает, что 3,14 является его точным значением. Обратите внимание, что этот код также печатает 3.14:

 val pi = 3.140000000000000124344978758017532527446746826171875 println(пи) 

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

К вашему сведению, если вы хотите узнать точное значение, преобразуйте его в BigDecimal:

 println(BigDecimal(pi)) 

2 лайка

тагаев

№16

Взгляните на этот метод, в моем случае он работает:

 fun Double.roundTo(numFractionDigits: Int): Double { val factor = 10.0.pow(numFractionDigits.toDouble()) return (это * фактор).roundToInt() / фактор } 

я позаимствовал это у: java - Round Double до 1 десятичного знака kotlin: от 0,044999 до 0,1 17 декабря 2020 г. , 8:48

# 17

Это может вернуть ближайшее значение Double к нужному десятичному числу. Но это все равно будет не совсем то число (поскольку, за исключением нескольких особых случаев, no Double value — это именно то число).

Если вы заботитесь о точных десятичных дробях, не используйте двоичный тип с плавающей запятой, такой как Double; вместо этого используйте что-то вроде BigDecimal.

гилмаркоссантос

# 18

Спасибо! Мне очень помог.

стивхб

# 19

Это проклятый подход JavaScript. Пожалуйста, просто используйте один из @fvasco

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

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

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

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

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

  1. Выберите ячейки, которые вы хотите отформатировать.

  2. На вкладке Главная нажмите Увеличить десятичное число или Уменьшить десятичное число , чтобы отобразить больше или меньше цифр после запятой.

Применив встроенный формат номера:

  1. На вкладке Home в группе Номер щелкните стрелку рядом со списком числовых форматов, а затем щелкните 9.0280 Другие числовые форматы .

  1. В списке Категория , в зависимости от типа имеющихся у вас данных, щелкните Валюта , Бухгалтерский учет , Процент или Научный .

  2. В поле десятичных разрядов введите количество десятичных разрядов, которое вы хотите отобразить.

С помощью функции в формуле :

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

Предположим, что ячейка A1 содержит 823,7825 . Чтобы округлить число до ближайшего:

  • тысяч с

    • Тип =ROUND(A1,-3) что равно 1,00 0

    • 823,7825 ближе к 1000, чем к 0 (0 кратно 1000)

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

  • Сотни

  • Десятки

  • Единицы

  • Десятки

    • Введите =ROUND(A1,1) , что равно 823,8

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

  • Сотые

  • Тысячные

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

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

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

  1. Щелкните пустую ячейку.

  2. На вкладке Формулы в разделе Функция щелкните Построитель формул .

  3. Выполните любое из следующих действий:

    от до

    В построителе формул найдите и дважды щелкните

    В споре

    Округлить число до

    ОБЗОР

    В поле число введите число, которое вы округляете. В num_digits введите 0 , чтобы округлить число до ближайшего целого числа.

    Округление числа в меньшую сторону

    ОКРУГЛЕНИЕ ВНИЗ

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

    Округлить до четного числа

    ДАЖЕ

    В номер , введите число, которое вы округляете.

    Округлить до нечетного числа

    НЕЧЕТНЫЙ

    В введите округляемое число.

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

    ОКРУГ

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

  4. Нажмите ВОЗВРАТ .

Вы можете установить десятичную точку по умолчанию для чисел в параметрах Excel.

  1. Щелкните Параметры (от Excel 2010 до Excel 2016) или Кнопка Microsoft Office > Параметры Excel (Excel 2007).

  2. В категории Дополнительно в разделе Параметры редактирования установите флажок Автоматически вставлять десятичную точку .

  3. В поле Places введите положительное число для цифр справа от десятичной точки или отрицательное число для цифр слева от десятичной точки.

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

  4. Щелкните OK .

    В строке состояния появится индикатор Fixed decimal .

  5. На листе щелкните ячейку и введите нужное число.

    Примечание.  Данные, введенные до установки флажка Фиксированное десятичное число , не затрагиваются.

Только новые статьи

Введите свой e-mail

Видео-курс

Blender для новичков

Ваше имя:Ваш E-Mail: