Round to nearest decimal or integer
Y = round( rounds
each element of
X to the nearest integer. In the
case of a tie, where an element has a fractional part of exactly
round function rounds away from zero to the
integer with larger magnitude.
Round the elements of a 2-by-2 matrix to the nearest integer.
X = [2.11 3.5; -3.5 0.78]; Y = round(X)
Y = 2 4 -4 1
pi to the nearest 3 decimal digits.
Y = round(pi,3)
Y = 3.1420
Round the number
863178137 to the nearest multiple of 100.
ans = 863178100
Round the elements of a vector to retain 2 significant digits.
format shortg x = [1253 1.345 120.44] y = round(x,2,'significant')
x = 1253 1.345 120.44 y = 1300 1.3 120
format command controls how MATLAB® displays numbers at the command line. If a number has extra digits that cannot be displayed in the current format, then MATLAB automatically rounds the number for display purposes. This can lead to unexpected results when combined with the
Consider the result of the following subtraction operation, which displays 5 digits.
format short x = 112.05 - 110
x = 2.0500
Based on the displayed value of
x to 1 decimal should return
ans = 2
In fact, the problem here is that MATLAB is rounding
x to 5 digits for display purposes. The
round function returns the correct answer. Confirm the answer by viewing
format long, which displays
x rounded to 15 digits.
format long x
x = 2.049999999999997
Round each value in a duration array to the nearest number of seconds.
t = hours(8) + minutes(29:31) + seconds(1.3:0.5:2.3); t.Format = 'hh:mm:ss.SS'
t = 08:29:01.30 08:30:01.80 08:31:02.30
Y1 = round(t)
Y1 = 08:29:01.00 08:30:02.00 08:31:02.00
Round each value in t to the nearest number of hours.
Y2 = round(t,'hours')
Y2 = 08:00:00.00 09:00:00.00 09:00:00.00
X— Input arrayscalar | vector | matrix | multidimensional array
Input array, specified as a scalar, vector, matrix, or multidimensional
array. For complex
the real and imaginary parts independently.
X must be
round with more than one input.
round converts logical and
Complex Number Support: Yes
N— Number of digitsscalar integer
Number of digits, specified as a scalar integer. When you specify
round function rounds
the nearest multiple of 10 -N.
If you specify the
N must be a positive integer.
type— Rounding type
Rounding type, specified as
The rounding type determines whether
digits in relation to the decimal point or the overall number of significant
N must be a positive integer when you specify
In that case, the
round function rounds to the
nearest number with
N significant digits.
The default value is
'decimals', so that
which is the closest number to
3132 that has
t— Input duration
Input duration, specified as a
unit— Unit of time
Unit of time, specified as
'years'. A duration of 1 year is equal to exactly
365.2425 24-hour days.
In R2014b, these syntaxes were added to round to any number of decimal or significant digits and to round duration values:
Y = round(X,N) Y = round(X,N,type) Y = round(t) Y = round(t,unit)
Older versions support only this syntax, which rounds to the nearest integer:
Y = round(X)
format short and
long both display rounded numbers. This can cause unexpected
results when combined with the
For display purposes, use
control the exact display of a number as a string. For example, to
display exactly 2 decimal digits of
pi (and no
trailing zeros), use