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
备注
对于位于两个舍入小数值之间的中间值,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])