round

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

Описание

пример

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вокруг обрабатывает действительные и мнимые части независимо.

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'минутычасыдни, или 'years'. Длительность 1 года равна точно 365,2425 24-часовым дням.

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

Советы

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

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

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

развернуть все

Поведение изменяется в R2014b

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

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