maxframe.tensor.round_#

maxframe.tensor.round_(a, decimals=0, out=None)#

将数值均匀舍入到指定的小数位数。

参数:
  • a (array_like) -- 输入数据。

  • decimals (int, optional) -- 要舍入的小数位数(默认值:0)。如果 decimals 为负数,则表示小数点左侧的位数。

  • out (Tensor, optional) -- 用于存储结果的替代输出 tensor。它必须与预期输出具有相同的形状,但必要时会转换输出值的类型。

返回:

rounded_array -- 一个与 a 类型相同的 tensor,包含舍入后的值。除非指定了 out,否则将创建一个新的 tensor。返回结果的引用。复数的实部和虚部分别进行舍入。浮点数舍入的结果仍为浮点数。

返回类型:

Tensor

参见

Tensor.round

等效方法

ceil, fix, floor, rint, trunc

备注

对于恰好位于两个舍入小数值中间的值,NumPy 会舍入到最近的偶数。因此,1.5 和 2.5 舍入为 2.0,-0.5 和 0.5 舍入为 0.0,等等。由于 IEEE 浮点标准 [1] 中十进制分数的非精确表示以及按十的幂次缩放时引入的误差,结果可能令人意外。

引用

示例

>>> import maxframe.tensor as mt
>>> mt.around([0.37, 1.64]).execute()
array([ 0.,  2.])
>>> mt.around([0.37, 1.64], decimals=1).execute()
array([ 0.4,  1.6])
>>> mt.around([.5, 1.5, 2.5, 3.5, 4.5]).execute() # rounds to nearest even value
array([ 0.,  2.,  2.,  4.,  4.])
>>> mt.around([1,2,3,11], decimals=1).execute() # tensor of ints is returned
array([ 1,  2,  3, 11])
>>> mt.around([1,2,3,11], decimals=-1).execute()
array([ 0,  0,  0, 10])