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,`precision` 和 min_digits 的截止值指的是小数点后包括前导零在内的总位数.如果 False,`precision` 和 min_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'