【问题标题】:Python - Converting String Numbers To FloatPython - 将字符串数字转换为浮点数
【发布时间】:2019-07-10 14:38:32
【问题描述】:

我想将列表中的字符串数字转换为浮点数 我做不到,所以我需要一些帮助。

num = '0.00003533'

print('{:f}'.format(float(num)))

格式化它不带小数,只返回一个 0.000035 的浮点数,我需要一个浮点数中的整个字符串。

print('{:8f}'.format(float(num)))

添加精确的小数是可行的,但小数列表中的数字变化很大,所以我不能每次都手动添加,如何在格式中自动添加正确的小数? 像 '{':exactdecimalf'} exactdecinal 是一个变量。

我正在使用一个需要浮点数的模块,这就是为什么我不能直接从字符串格式打印它。

【问题讨论】:

  • 请明确添加您想要的输入和输出示例
  • 为什么不只是 print(float(num)) 只是 float(num) 我相信你的要求..
  • 如果要按原样打印,请将其保留为字符串,并将其转换为浮点数,仅用于数值运算。但请注意floating point gotchas
  • 你的列表中的项目是字符串还是数字?
  • 字符串,但我得到了答案。谢谢。

标签: python list numbers int


【解决方案1】:

使用这个

from decimal import Decimal
num = '0.00003533'
print(Decimal(num)) #0.00003533 

如果你想打印成字符串

print ('{:f}'.format(Decimal(num)))

【讨论】:

    【解决方案2】:

    也许双精度会适合你。

    from decimal import Decimal
    print ('{:f}'.format(Decimal(num)))
    

    【讨论】:

      【解决方案3】:

      你可以用

      分割字符串并取最后一部分的长度
      len(num.split(".")[1])
      

      然后将其用作小数位数。

      【讨论】:

        猜你喜欢
        • 2011-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多