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,可选
要打印的最大位数. 如果
unique为 True ,则可能为 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 版本加入.
- 返回:
- 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'