numpy.format_float_positional#

numpy.format_float_positional(x, precision=None, unique=True, fractional=True, trim='k', sign=False, pad_left=None, pad_right=None, min_digits=None)[源代码]#

将浮点标量格式化为位置表示法的十进制字符串.

提供对舍入,修剪和填充的控制. 使用并假定IEEE无偏舍入. 使用 “Dragon4” 算法.

参数:
xpython float 或 numpy 浮点标量

要格式化的值.

precision非负整数或None,可选

要打印的最大位数.如果 uniqueTrue ,则可以为None,但如果unique为 False ,则必须为整数.

unique布尔值,可选

如果为 True ,则使用一种数字生成策略,该策略通过明智的舍入给出最短的表示形式,从而将浮点数与相同类型的其他值唯一地标识出来.如果给定的 precision 小于必要的位数,或者如果给定的 min_digits 大于必要的位数,则可以打印更多位数,在这种情况下,最后一位使用无偏舍入进行舍入.如果为 False ,则生成数字,就像打印无限精度值并在 precision 位数后停止一样,使用无偏舍入对剩余值进行舍入.

小数部分布尔值,可选

如果为 True ,则 precisionmin_digits 的截止值指的是小数点后的总位数,包括前导零.如果为 False ,则 precisionmin_digits 指的是总的有效位数,包括小数点前后的位数,忽略前导零.

trim‘k’,’.’,’0’,’-’ 之一,可选

控制后处理时对尾随数字的修剪,如下所示:

  • ‘k’:保留尾随零,保留小数点(不修剪)

  • ‘.’:修剪所有尾随零,保留小数点

  • ‘0’:修剪除小数点前的零之外的所有尾随零.如果缺少零,则插入零.

  • ‘-‘:修剪尾随零和任何尾随小数点

sign布尔值,可选

是否显示正值的符号.

pad_left非负整数,可选

在字符串的左侧填充空格,直到小数点左侧至少有这么多字符.

pad_right非负整数,可选

在字符串的右侧填充空格,直到小数点右侧至少有这么多字符.

min_digits非负整数或None,可选

要打印的最小位数.仅当 unique=True 时才有效,在这种情况下,可能会打印超过唯一标识该值所需的额外位数,并对最后一位额外数字进行四舍五入.

在 1.21.0 版本加入.

返回:
repstring

浮点值的字符串表示形式

示例

>>> import numpy as np
>>> np.format_float_positional(np.float32(np.pi))
'3.1415927'
>>> np.format_float_positional(np.float16(np.pi))
'3.14'
>>> np.format_float_positional(np.float16(0.3))
'0.3'
>>> np.format_float_positional(np.float16(0.3), unique=False, precision=10)
'0.3000488281'