文章目录

  • 语法
  • 说明
  • 示例
  • 对矩阵元素四舍五入
  • 四舍五入为指定数量的小数位数
  • 四舍五入为 100 的最近倍数
  • 将元素四舍五入为指定数量的有效位数
  • 控制四舍五入时的数字显示方式
  • 对持续时间值舍入
  • N - 位数 整数标量
  • type - 四舍五入类型
  • t - 输入持续时间
  • unit - 时间单位



round:四舍五入为最近的小数或整数

语法

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

四舍五入为 100 的最近倍数

将数值 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 函数返回正确答案。通过使用 format long 查看 x(这会显示舍入为 15 位数的 x)来确认答案。

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

N - 位数 整数标量

位数,指定为整数标量。当指定 N 时,round 函数将 X 四舍五入为 10 -N 的最近倍数。

如果指定 ‘significant’ 四舍五入类型,则 N 必须为正整数。

type - 四舍五入类型

‘decimals’ (默认) | ‘significant’
四舍五入类型,指定为 ‘decimals’ 或 ‘significant’。四舍五入类型确定 round 是基于小数点相关位数还是全部有效位数。指定 ‘significant’ 时,N 必须为正整数。在这种情况下,round 函数四舍五入到具有 N 个有效位数的最近数值。

默认值为 ‘decimals’,这样 round(X,N,‘decimals’) 等同于 round(X,N)。

示例: round(3132,2,‘significant’) 返回 3100,它是具有 2 位有效位数的、最接近 3132 的数。

数据类型: char | string

t - 输入持续时间

duration 数组

unit - 时间单位

‘seconds’ (默认) | ‘minutes’ | ‘hours’ | ‘days’ | ‘years’
时间单位,指定为 ‘seconds’、‘minutes’、‘hours’、‘days’ 或 ‘years’。1 年的时间长度确切地等于 365.2425 天(一天 24 小时)。

数据类型: char | string