numpy.format_float_scientific#

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

将浮点标量格式化为科学计数法表示的十进制字符串。

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

参数
xPython 浮点数或 NumPy 浮点标量

要格式化的值。

precision非负整数或 None,可选

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

unique布尔值,可选

如果为 True,则使用一种数字生成策略,通过谨慎的舍入,提供最短的表示形式,该形式能够唯一地标识浮点数与同类型的其他值。如果给定 precision,则可以打印比所需位数更少的数字。如果给定 min_digits,则可以打印更多数字,在这种情况下,最后一位数字将使用无偏舍入进行舍入。如果为 False,则数字的生成方式如同打印一个无限精度的值,并在 precision 位数字后停止,使用无偏舍入对剩余的值进行舍入。

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

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

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

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

  • ‘0’ : 修剪小数点前的零以外的所有内容。如果缺少,则插入零。

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

sign布尔值,可选

是否显示正值的符号。

pad_left非负整数,可选

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

exp_digits非负整数,可选

用零填充指数,直到它包含至少这么多位数。如果省略,指数将至少为 2 位。

min_digits非负整数或 None,可选

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

1.21.0 版本新增。

返回
rep字符串

浮点值的字符串表示

示例

>>> import numpy as np
>>> np.format_float_scientific(np.float32(np.pi))
'3.1415927e+00'
>>> s = np.float32(1.23e24)
>>> np.format_float_scientific(s, unique=False, precision=15)
'1.230000071797338e+24'
>>> np.format_float_scientific(s, exp_digits=4)
'1.23e+0024'