Python,确定是否应将字符串转换为 Int 或 Float

新手上路,请多包涵

我想将字符串转换为最严格的数据类型:int 或 float。

我有两个字符串:

 value1="0.80"     #this needs to be a float
value2="1.00"     #this needs to be an integer.

在 Python 中如何确定 value1 应该是 Float 而 value2 应该是 Integer?

原文由 ManuParra 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 378
2 个回答
def isfloat(x):
    try:
        a = float(x)
    except (TypeError, ValueError):
        return False
    else:
        return True

def isint(x):
    try:
        a = float(x)
        b = int(a)
    except (TypeError, ValueError):
        return False
    else:
        return a == b

原文由 glglgl 发布,翻译遵循 CC BY-SA 4.0 许可协议

Python float 对象有一个 is_integer 方法

 from ast import literal_eval
def parses_to_integer(s):
    val = literal_eval(s)
    return isinstance(val, int) or (isinstance(val, float) and val.is_integer())

原文由 ecatmur 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题