我正在用Python打印一些浮点数,并希望它们的输出像Fortran const shadowOpt = {
width:100,
height:100,
color:"#000",
border:2,
radius:3,
opacity:0.2,
x:0,
y:3,
style:{marginVertical:5}
}
<Shadow setting={shadowOpt}>
... your view here
</Shadow>
格式,例如:
Fn.m
我已经知道PyPI中有一个名为# :some maybe format language like `F6.4` in Fortran
>>> '{:some}'.format(-0.0005)
-.0005
>>> '{:some}'.format(0.0005)
0.0005
的模块可以处理它,我想知道Python字符串格式语言是否可以解决我的问题?
答案 0 :(得分:0)
Python的格式迷你语言具有width
和precision
的概念,但是仅当应用格式的参数已经是浮点数时才适用。
这可以通过编程方式完成:
n = 6437
d = 2
res = "{}".format(n if d == 0 else n / (10 ** d))
将会产生:64.37
答案 1 :(得分:0)
我对UI友好紧凑的浮点格式的解决方案是这样的
def format_float(f):
if f - float(int(f)) == 0.0:
return str(int(f))
s = ("%20.15f" % (f,).lstrip(" ").rstrip("0")
return s
没有十进制数字的浮点数看起来像整数,并且删除了前导空格,并且删除了尾随零。 这样可以使结果字符串的宽度最小,以使想法完整。 在UI代码中有用。