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

The 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 цифр в целях отображения. The 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
   08:29:01.30   08:30:01.80   08:31:02.30

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

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

Y2 = round(t,'hours')
Y2 = 1x3 duration
   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

Совет

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

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

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

расширить все

Поведение изменено в R2014b

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

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