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 浮点数或 numpy 浮点数标量

要格式化的值。

precision非负整数或 None,可选

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

unique布尔值,可选

如果为 True,则使用一种生成数字的策略,该策略通过仔细舍入生成最短的表示形式,唯一地标识浮点数与其他相同类型的值。如果 precision 给出的位数少于必需的位数,或者如果 min_digits 给出的位数多于必需的位数,则最后一个数字将使用无偏舍入进行舍入。如果为 False,则数字的生成方式就好像打印一个无限精度的值,并在 precision 位数后停止,使用无偏舍入对剩余的值进行舍入。

fractional布尔值,可选

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

trim‘k’、‘.’、‘0’、‘-’ 中的一个,可选

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

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

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

  • ‘0’ : 修剪小数点前的零,保留其余。如果零缺失,则插入零。

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

sign布尔值,可选

是否显示正数的符号。

pad_left非负整数,可选

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

pad_right非负整数,可选

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

min_digits非负整数或 None,可选

要打印的最小位数。仅当 unique=True 时才有效,在这种情况下,可能会打印出比唯一标识值所需的位数更多的位数,并对最后一个附加数字进行舍入。

版本 1.21.0 中新增。

返回:
rep字符串

浮点值的字符串表示形式

示例

>>> 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'