在Python中将字符串十进制(“ anyValueD + anyValue)转换为数字十进制

时间:2019-03-06 04:16:22

标签: python python-3.x string type-conversion decimal

我是Python编程的新手,现在我使用Python进行学习。 我读取文本文件以获取数据。 我得到了字符串值,例如“ 0.710000000000D + 02”。 现在,我必须将此字符串值转换为浮点数或十进制数,所以我运行:

  
    

val = float(“ 0.710000000000D + 02”)

  

但是,它失败了。

而且,我尝试了以下另一种解决方案:

  
    

val = [x中的变量的float(x)]

  

但也失败了。

实际上,它只是一个普通的十进制值,例如:1D-02 = 0.01 就这么简单。但是我不知道如何用Python解决这个问题。

任何人都可以帮助解决这个问题吗?谢谢!

2 个答案:

答案 0 :(得分:1)

它似乎是科学计数法。很久以前我也遇到过同样的问题。尝试

float('0.710000000000D+02'.replace("D", "E"))

答案 1 :(得分:0)

我有解决办法。 只需将“ D”替换为“ e”

  
    

str.replace(“ D”,“ e”)

  

不是一种复杂的方法,但是它可以工作!