【问题标题】:Python Complex Number Formatting of zero imaginary part零虚部的Python复数格式
【发布时间】:2017-02-10 20:18:34
【问题描述】:

是否可以将复数格式化为实部为零时不显示?

我目前正在使用'{:.3g}'.format(x),它可以很好地抑制不必要的零,但我仍然得到0+0.5j 形式的数字,应该将其转换为0.5j

谢谢!

【问题讨论】:

    标签: python string formatting complex-numbers


    【解决方案1】:

    strrepr 似乎有效:

    >>> str(0.5j)
    '0.5j'
    
    >>> repr(0.5j)
    '0.5j'
    

    【讨论】:

    • 它们就像一个魅力,但你能告诉我如何只显示小数点后三位吗?
    • @Faser 嗯,我对复数格式不太了解,我只是想出了一些技巧,比如用'{:.3g}'.format(x).lstrip('0+' * (x.real == 0)) 去掉“0+”或者像str(complex(round(x.real, 3), round(x.imag, 3))) 这样将数字四舍五入。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-26
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多