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