String-practice 题目说明: 有一个不定长度的String,其中前面是字母,后边是数字,例如:"abcd123.456", 要求写一个方法得到其中的数字以String的形式返回,数字保留小数点后两位, 不四舍五入,截去多余小数, 例如:"abcd123.456",得到"123.45" 如果数字没有小数点,要得到两位为0的小数, 例如:"abcd123",得到"123.00".

代码如下

import re

def export_result(string):
    string = re.sub('[a-zA-Z]','',string) # 正则,去除字母
    num = float(string)* 1.00             # 转换成带有至少两位小数的值
    num_x, num_y = str(num).split('.')   # 整数部分 和 小数部分,拆分开
    num_y = '{:0<2}'.format(num_y)       # 截取小数部分
    num = num_x + '.' + num_y[0:2]       # 拼接整数部分 和 小数部分
    return print(num)

export_result('abddddd7') # 返回 7.00
export_result('aaa7.99999999') # 返回 7.99