如何将浮点数格式化为固定宽度,具体要求如下:

如果n < 1,前导0 添加尾随小数零(s)以填充固定宽度 截断超过固定宽度的十进制数字 对齐所有小数点

例如:

% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]

for number in numbers:
    print formatter.format(number)

输出是这样的

  23.2300
   0.1233
   1.0000
   4.2230
9887.2000

当前回答

这将输出76.66:

print("Number: ", f"{76.663254: .2f}")

其他回答

numbers = [23.23, 0.1233, 1.0, 4.223, 9887.2]                                                                                                                                                   
                                                                                                                                                                                                
for x in numbers:                                                                                                                                                                               
    print("{:10.4f}".format(x)) 

打印

   23.2300
    0.1233
    1.0000
    4.2230
 9887.2000

花括号内的格式说明符遵循Python格式字符串语法。具体来说,在本例中,它由以下部分组成:

冒号前的空字符串表示“将下一个提供的参数用于format()”-在这种情况下x是唯一的参数。 冒号后面的10.4f部分是格式规范。 f表示定点表示法。 10是打印字段的总宽度,用空格填充。 4是小数点后的位数。

这个问题已经回答了几年了,但从Python 3.6 (PEP498)开始,你可以使用新的f-string:

numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]

for number in numbers:
    print(f'{number:9.4f}')

打印:

  23.2300
   0.1233
   1.0000
   4.2230
9887.2000

对于数组,我需要一些类似的东西。这帮助了我

some_array_rounded=np.around(some_array, 5)

这将输出76.66:

print("Number: ", f"{76.663254: .2f}")

我试过了所有的方法,比如

pd.options.display。Float_format = '{:.4f}'.format pd.set_option(“显示。float_format ', str) pd.set_option(“显示。float_formatλx: f %。{len (str (x % 1)) 2} f ' % x) pd.set_option(“显示。Float_format ', lambda x: '%。3f' % x)

但对我来说什么都不管用。

因此,当将变量/值(var1)分配给一个变量(例如num1)时,我使用round(val,5)

num1 = round(var1,5)

这是一个粗糙的方法,因为你必须在每次赋值中使用这个循环函数。但这可以确保你控制事情的发生,并得到你想要的。