在将python浮点数写入文件时抑制科学记数法

时间:2012-07-23 00:48:33

标签: python floating-point notation

将浮点数写入CSV会将其中的一些写入:2.0628800997782577e-05

c = csv.writer(open(file, "wb"))
c.writerow([var1, var2])    

我尝试了什么:

  • 我已经按照其他答案尝试了var1 ** 8 StackOverflow,但这只是将它们提升到8.的力量。
  • 我也试过Decimal(var1),但这并没有压制科学 符号

这使得以后很难处理excel中的输出,因为它被识别为文本而不是数字。如何以非科学的十进制表示法打印它?

2 个答案:

答案 0 :(得分:5)

'%f' % your_var

或者控制精度:

'%0.10f' % your_var

答案 1 :(得分:3)

使用string formatting

c.writerow(['{:f}'.format(var) for var in (var1, var2)]