D1_inv
Out[23]: [0.024799999999999999, 0.029600000000000001, 0.035799999999999998]
我试图将这些数字四舍五入到小数点后4位。我用过这个:
for i in D1_inv:
round(i,4)
但输出仍与上述相同。有人可以帮助我吗?
答案 0 :(得分:2)
您的问题是列表理解的完美案例:
class FooA {
private String s1;
private String s2;
// other fields
@JsonUnwrapped
private FooB fooB;
//getter setter
}
答案 1 :(得分:2)
D1_inv = [0.024799999999999999, 0.029600000000000001, 0.035799999999999998]
for i in D1_inv:
print round(float(i), 4)
输出:
0.0248
0.0296
0.0358
[Finished in 0.0s]
答案 2 :(得分:2)
您所看到的是浮点错误。通常,在数学上不可能在基数2(即float
)中精确地表示基数为10的小数,因此您的计算机尽可能接近。但是如果您的输出样式设置为显示许多小数位,那么这些"错误"会出现。
round
没有帮助,因为它的输出仍为float
。你无法以任何简单的方式解决这个问题,因为它是二进制数学的假象。一些选项是:
frac
.format
修复输出的显示精度(但这会使它们成为字符串)答案 3 :(得分:0)
您没有保存结果。
db_incrbckp_date