粉丝提问解答

问题:
用Python定义函数parseInt ()实现将字符串转换为整数,
条件:遇到不能转为整数的,比如"Mike"等,输出NaN;
遇到二进制,十六进制等直接转为整数;
遇到有小数的,去掉小数点后面,保留整数部分;
遇到类似“4567read”的字符串输出整数部分4567
解答

def parseInt(s):
    try:
        if s.startswith('0b'):
            return int(s, 2)  # 尝试将二进制字符串转换为整数
        elif s.startswith('0x'):
            return int(s, 16)  # 尝试将十六进制字符串转换为整数
        elif '.' in s:
            return int(float(s))  # 将有小数的字符串转换为整数
        else:
            return int(''.join(filter(str.isdigit, s)))  # 提取字符串中的数字并转换为整数
    except ValueError:
        return "NaN"  # 处理无法转换为整数的情况

    return result

你可能感兴趣的:(Python,python)