вокруг

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

Синтаксис

Y = round(X)
Y = round(X,N)
Y = round(X,N,type)
Y = round(t)
Y = round(t,unit)

Описание

пример

Y = round(X) раунды каждый элемент X к самому близкому целому числу. В случае связи, где элемент имеет дробную часть точно 0.5, раунды функции round далеко от нуля до целого числа с большим значением.

пример

Y = round(X,N) раунды к цифрам N:

  • N > 0: вокруг к цифрам N справа от десятичной точки.

  • N = 0: вокруг к самому близкому целому числу.

  • N < 0: вокруг к цифрам N слева от десятичной точки.

пример

Y = round(X,N,type) задает тип округления. Задайте 'significant' к раунду к N значительные цифры (считаемый от крайней левой цифры). В этом случае N должен быть положительным целым числом.

пример

Y = round(t) раунды каждый элемент массива duration t к самому близкому номеру секунд.

пример

Y = round(t,unit) раунды каждый элемент t к самому близкому количеству заданного модуля времени.

Примеры

свернуть все

Вокруг элементов матрицы 2 на 2 к самому близкому целому числу.

X = [2.11 3.5; -3.5 0.78];
Y = round(X)
Y = 2×2

     2     4
    -4     1

Вокруг pi к самым близким 3 десятичным цифрам.

Y = round(pi,3)
Y = 3.1420

Вокруг номера 863178137 к самому близкому кратному 100.

round(863178137,-2)
ans = 863178100

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

format shortg
x = [1253 1.345 120.44]
x = 1×3

         1253        1.345       120.44

y = round(x,2,'significant')
y = 1×3

         1300          1.3          120

Команда format управляет, как MATLAB® отображает числа в командной строке. Если номер имеет дополнительные цифры, которые не могут быть отображены в текущем формате, то MATLAB автоматически округляет номер в целях отображения. Это может привести к неожиданным результатам, когда объединено с функцией round.

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

format short
x = 112.05 - 110
x = 2.0500

На основе отображенного значения x, округляя x к 1 десятичному числу должен возвратить 2.1.

round(x,1)
ans = 2

На самом деле проблема здесь состоит в том, что MATLAB округляет x к 5 цифрам в целях отображения. Функция round дает правильный ответ. Подтвердите ответ путем просмотра x с format long, который отображает x, округленный к 15 цифрам.

format long
x
x = 
   2.049999999999997

Вокруг каждого значения в массиве длительности к самому близкому номеру секунд.

t = hours(8) + minutes(29:31) + seconds(1.3:0.5:2.3);
t.Format = 'hh:mm:ss.SS'
t = 1x3 duration array
   08:29:01.30   08:30:01.80   08:31:02.30

Y1 = round(t)
Y1 = 1x3 duration array
   08:29:01.00   08:30:02.00   08:31:02.00

Вокруг каждого значения в t к самому близкому номеру часов.

Y2 = round(t,'hours')
Y2 = 1x3 duration array
   08:00:00.00   09:00:00.00   09:00:00.00

Входные параметры

свернуть все

Входной массив, заданный как скалярный, векторный, матричный или многомерный массив. Для комплексного X round обрабатывает действительные и мнимые части независимо.

X должен быть single или double, когда вы используете round больше чем с одним входом.

round преобразовывает логический и элементы char X в значения double.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | logical
Поддержка комплексного числа: Да

Количество цифр, заданных как скалярное целое число. Когда вы задаете N, функция round округляет X к самому близкому кратному 10 -N.

Если вы задаете тип округления 'significant', то N должен быть положительным целым числом.

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

Значением по умолчанию является 'decimals', так, чтобы round(X,N,'decimals') был эквивалентен round(X,N).

Пример: round(3132,2,'significant') возвращает 3100, который является самым близким номером к 3132, который имеет 2 значительные цифры.

Типы данных: char | string

Введите длительность, заданную как массив duration.

Модуль времени, заданного как 'seconds', 'minutes', 'hours', 'days' или 'years'. Длительность 1 года равна точно 365,2425 24-часовым дням.

Типы данных: char | string

Больше о

свернуть все

Вопросы совместимости

В R2014b эти синтаксисы были добавлены к раунду к любому количеству десятичных или значительных цифр и к круглым значениям длительности:

Y = round(X,N)
Y = round(X,N,type)
Y = round(t)  
Y = round(t,unit)   

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

Y = round(X) 

Советы

  • format short и format long оба отображения округлили числа. Это может вызвать неожиданные результаты, когда объединено с функцией round.

  • В целях отображения используйте sprintf, чтобы управлять точным отображением номера как строка. Например, чтобы отобразить точно 2 десятичных цифры pi (и никакие конечные нули), используйте sprintf('%.2f',pi).

Расширенные возможности

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте