|
@@ -49,8 +49,8 @@ def extract_ratio(text):
|
|
|
# print(total_money_list)
|
|
|
if total_money_list:
|
|
|
for word, text_index in total_money_list:
|
|
|
- num_value = re.search("\d+(?:\.\d+)?[((]?[%‰]?|[零壹贰叁肆伍陆柒捌玖拾佰百一二三四五六七八九十]+(?:点[零壹贰叁肆伍陆柒捌玖拾一二三四五六七八九十]+)?(?!分之)", word).group()
|
|
|
- if re.search("[零壹贰叁肆伍陆柒捌玖拾佰一二三四五六七八九十]",num_value):
|
|
|
+ num_value = re.search("\d+(?:\.\d+)?[((]?[%‰]?|[壹贰叁肆伍陆柒捌玖拾一二三四五六七八九十][零壹贰叁肆伍陆柒捌玖拾佰百一二三四五六七八九十]*(?:点[零壹贰叁肆伍陆柒捌玖一二三四五六七八九]+)?(?!分之)", word).group()
|
|
|
+ if re.search("[零壹贰叁肆伍陆柒捌玖拾佰百一二三四五六七八九十]",num_value):
|
|
|
if '点' in num_value:
|
|
|
num_split = num_value.split("点")
|
|
|
round_len = len(num_split[1])
|
|
@@ -71,9 +71,8 @@ def extract_ratio(text):
|
|
|
num_value = num_value / 1000
|
|
|
round_len += 3
|
|
|
else:
|
|
|
- # if not re.search("[%‰]",word):
|
|
|
- # continue
|
|
|
match_text = num_value
|
|
|
+ # print(num_value)
|
|
|
num_value = round(Decimal(re.sub('[((]|[%‰]','',num_value)),10)
|
|
|
# print(num_value)
|
|
|
# _num = str(num_value).split('.')[0]
|