【问题标题】:supress scientific notation when writing python floats to files将python浮点数写入文件时抑制科学记数法
【发布时间】:2012-07-23 00:48:33
【问题描述】:

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

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

我尝试过的:

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

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

【问题讨论】:

    标签: python floating-point notation


    【解决方案1】:
    '%f' % your_var
    

    或者控制精度:

    '%0.10f' % your_var
    

    【讨论】:

      【解决方案2】:

      使用string formatting:

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

      【讨论】:

        猜你喜欢
        • 2014-05-24
        • 2010-10-14
        • 1970-01-01
        • 2014-09-25
        • 2021-09-30
        • 2013-07-18
        • 2017-03-13
        相关资源
        最近更新 更多