a = [[1.0993455308580886, 1.9814814814814814, 1.2331369355392543, 1.646283618833137, 2.2736098709332486, 1.50035992597825]]
我有上面的列表列表。如何打印它以使用3个十进制数字打印数字。我想要这个:
b = [[1.099, 1.981, 1.233, 1.646, 2.273, 1.500]]
有没有办法可以强制我的代码中的所有浮点数都有3个十进制数?
答案 0 :(得分:2)
这是Change default float print format的重复。
长话短说:你无法在全球范围内改变它。但是你可以编写一个这样的函数
return [[round(n, 3) for n in a[0]]]
或
return [['%.3f' % n for n in a[0]]]
创建这样的列表称为列表理解。或者,您也可以使用map
:
return [map(lambda n: '%.3f' % n, a[0])]
但通常Python开发人员更喜欢列表理解。
答案 1 :(得分:0)
var a = [[1.0993455308580886, 1.9814814814814814, 1.2331369355392543, 1.646283618833137, 2.2736098709332486, 1.50035992597825]]
var b = [];
//copy a into b array
for(var i = 0, len = a.length; i < len; ++i)
b[i] = a[i];
//round
for(var x = 0, len = b.length; x < len; ++x)
for(var s = 0, len2 = b[x].length; s < len2; ++s)
b[x][s] = b[x][s].toFixed(3);
console.log(b.toString())
&#13;