maxframe.tensor.around#

maxframe.tensor.around(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])