Jer*_*emy 11 python string floating-point floating-point-precision
我有以下重复的简单代码重复几次,我想为一个函数:
for i in range(10):
id = "some id string looked up in dict"
val = 63.4568900932840928 # some floating point number in dict corresponding to "id"
tabStr += '%-15s = %6.1f\n' % (id,val)
Run Code Online (Sandbox Code Playgroud)
我希望能够调用此函数:def printStr(precision)
凡瓶坯上面的代码,并返回tabStr与val到precision小数点.
例如:printStr(3)
将返回63.457了val在tabStr.
任何想法如何实现这种功能?
ken*_*ytm 29
tabStr += '%-15s = %6.*f\n' % (id, i, val)
Run Code Online (Sandbox Code Playgroud)
i小数位数在哪里.
BTW,在最近.format()被取代的Python中%,你可以使用
"{0:<15} = {2:6.{1}f}".format(id, i, val)
Run Code Online (Sandbox Code Playgroud)
为了同样的任务.
或者,为了清楚起见使用字段名称:
"{id:<15} = {val:6.{i}f}".format(id=id, i=i, val=val)
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Python 3.6+,则只需使用f-strings:
f"{id:<15} = {val:6.{i}f}"
Run Code Online (Sandbox Code Playgroud)
小智 12
我知道这是一个旧线程,但有一个更简单的方法来做到这一点:
试试这个:
def printStr(FloatNumber, Precision):
return "%0.*f" % (Precision, FloatNumber)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11654 次 |
| 最近记录: |