首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用float 3转换字符串

无法使用float 3转换字符串
EN

Stack Overflow用户
提问于 2017-03-03 01:56:17
回答 1查看 668关注 0票数 0

我很肯定这个解决方案很简单,但不知怎么的,通常的浮动不起作用。

代码语言:javascript
复制
output = open('output.txt', 'wt')
with open('input.txt', 'r') as file:
    file = file.readlines()
    for x in range(0,len(file)):
        if file[x][0:6] == 'NUMBER':
            print(file[x][11:18]) 
            float(file[x][11:18])

打印将给我'11111‘,但浮动给我错误的ValueError:无法将字符串转换为浮动:这里正在发生的事情。我需要它作为浮动来做一些数学运算。

更新。我想是因为我想转换一个空空间。第一行将导致此错误。浮动(‘’)会产生错误。

代码语言:javascript
复制
NUMBER
*
NUMBER 111111111111111111111
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-03 03:26:05

@Bijoy在注释中给出的观点的一个版本:如果问题是'NUMBER'后面的字符串有时是空的,这种情况应该始终映射到浮点0.0,那么您可以使用错误捕获来编写一个特殊的float()版本。

代码语言:javascript
复制
def getfloat(s):
    try:
        return float(s)
    except ValueError:
        return 0.0

这将适用于您的情况,虽然有违反直觉的行为,例如getfloat("hello world") == 0.0

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42569281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档