2024-09-28 19:28:49 发布
网友
如果值大于0.001,我想输出为{:f},否则输出为{:e}(指数)。你知道吗
我想知道我是否可以在一个字符串格式行内完成这项工作,这不是在实际打印的行上,而是在它的内部。允许使用lambda表达式吗?(旁注:哪里允许他们,真的?)你知道吗
FTR,这是我的输出字符串:
print("{:f}".format(my_float))
我想我应该用"{:g}"。这将在指数表示法和正常浮点表示法之间来回切换,具体取决于值:
"{:g}"
>>> '{:g}'.format(0.001) '0.001' >>> '{:g}'.format(0.0000001) '1e-07'
与"{:e}"相反,它总是指数型的。。。你知道吗
"{:e}"
>>> '{:e}'.format(0.001) '1.000000e-03'
将条件添加到格式中是我可以想到的一种方法
>>> x = 0.0001276 >>> '{:{type}}'.format(x, type='f' if x>0.001 else 'e') '1.276000e-04' >>> x = 0.01 >>> '{:{type}}'.format(x, type='f' if x>0.001 else 'e') '0.010000'
在我看来,这比兰博达好。你知道吗
要想去掉if else,你可以用and or操作
(x>0.01 and 'f') or 'e'
我想我应该用
"{:g}"
。这将在指数表示法和正常浮点表示法之间来回切换,具体取决于值:与
"{:e}"
相反,它总是指数型的。。。你知道吗将条件添加到格式中是我可以想到的一种方法
在我看来,这比兰博达好。你知道吗
要想去掉if else,你可以用and or操作
相关问题 更多 >
编程相关推荐