【发布时间】:2017-02-10 20:18:34
【问题描述】:
是否可以将复数格式化为实部为零时不显示?
我目前正在使用'{:.3g}'.format(x),它可以很好地抑制不必要的零,但我仍然得到0+0.5j 形式的数字,应该将其转换为0.5j。
谢谢!
【问题讨论】:
标签: python string formatting complex-numbers
是否可以将复数格式化为实部为零时不显示?
我目前正在使用'{:.3g}'.format(x),它可以很好地抑制不必要的零,但我仍然得到0+0.5j 形式的数字,应该将其转换为0.5j。
谢谢!
【问题讨论】:
标签: python string formatting complex-numbers
str 和 repr 似乎有效:
>>> str(0.5j)
'0.5j'
>>> repr(0.5j)
'0.5j'
【讨论】:
'{:.3g}'.format(x).lstrip('0+' * (x.real == 0)) 去掉“0+”或者像str(complex(round(x.real, 3), round(x.imag, 3))) 这样将数字四舍五入。