在csv文件中将字符串写入小数点后2位

writing strings to 2 decimal places in a cvs file

你能帮我修改这段代码以在 cvs 文件中将数字写到小数点后 2 位吗?

outfile = open("numbers.csv", "a")

outfile.write(str(datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')) + "," + str(number_1) + "," + str(number_2) + "," + str(number_3)+ "," + str(number_4) + "," + str(number_5) + "," + str(number_6) + "," + str(number_7) + "," + str(number_8) + "," + str(number_9) +"\n")

非常感谢。

在写入csv之前使用round()函数,round函数的第二个参数是四舍五入的小数位数。

例子-

>>> number_1 = 1.4412324
>>> number_2 = 1.54988312
>>> round(number_1,2)
1.44
>>> round(number_2,2)
1.55

你的情况 -

outfile = open("numbers.csv", "a")

outfile.write(str(datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')) + "," + str(round(number_1, 2)) + "," + str(round(number_2, 2)) + "," + str(round(number_3, 2))+ "," + str(round(number_4, 2)) + "," + str(round(number_5, 2)) + "," + str(round(number_6, 2)) + "," + str(round(number_7, 2)) + "," + str(round(number_8, 2)) + "," + str(round(number_9, 2)) +"\n")

可以考虑使用format

"{:.2f}".format(24.45679)

给你'24.46'