【问题标题】:Python float to string (scientific notation), in specific formatPython浮点到字符串(科学记数法),以特定格式
【发布时间】:2019-11-28 15:01:47
【问题描述】:

这是一个非常具体的问题,但尽管有大量在线资源,但我似乎无法找到可以满足我需求的功能。假设我有一个任意浮点数,例如“2.”。我想将浮点数转换成以下格式:

'2.000000E+000'

也就是说:指数前8位,指数后3位(四位计算符号)。有一些函数几乎(但不完全)产生所需的输出。使用

"%.6e" %float(2)

产生输出

'2.000000e+00'

这允许我指定我必须在之前指数的位数,而不是之后 - 它总是给我两位数。另一方面,函数 numpy.format_float_scientific:

numpy.format_float_scientific(2.0000000000, exp_digits=3,precision=6)
Out[30]: '2.e+000'

允许我指定指数之后的位数,但不能在之前。我想两者都做。你知道我是怎么做到的吗?

【问题讨论】:

    标签: python python-3.x string formatting


    【解决方案1】:

    您可以尝试使用uniqueFalsenumpy

    numpy.format_float_scientific(2.0000000000, unique=False, exp_digits=3,precision=6)
    

    输出:

    '2.000000e+000'
    

    【讨论】:

    • 啊,就是这样,多么简单的解决方案 - 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    相关资源
    最近更新 更多