我希望python中的表格能够像这样打印:
显然,我想使用.format()方法,但我有很长的浮点数,如下所示:@import "bourbon"
%tile
@include flex(0)
@include flex-basis(auto)
// display: inline-block
// float: left
box-sizing: border-box
.xbox-tiles
@include display(flex)
@include flex-direction(column)
@include flex-flow(wrap)
height: 90vh
width: 90vw
.tile
height: 33.33%
width: 25%
@extend %tile
.big-tile
height: 66.66%
width: 50%
@extend %tile
我需要对浮点数进行舍入,使它们看起来像这样:{{1} (总是两位小数,即使两者都是零,所以我不能使用round()函数)。
我可以使用1464.1000000000001
对浮点数进行舍入,但是它们不会打印到漂亮的表格中。
我可以通过1464.10
将它们放入好的表中,但它们不会被舍入。
有两种方法可以做到吗?像"{0:.2f}".format("1464.1000000000001")
?
答案 0 :(得分:5)
你几乎就在那里,只需删除逗号(并传入一个浮点数,而不是一个字符串):
"{0:>15.2f}".format(1464.1000000000001)
请参阅Format Specification Mini-Language section:
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type] fill ::= <any character> align ::= "<" | ">" | "=" | "^" sign ::= "+" | "-" | " " width ::= integer precision ::= integer type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
打破以上格式:
fill: <empty>
align: < # left
sign: <not specified>
width: 15
precision: 2
type: `f`
演示:
>>> "{0:>15.2f}".format(1464.1000000000001)
' 1464.10'
请注意,对于数字,默认对齐方式位于右侧,因此可以省略>
。
答案 1 :(得分:3)