Было бы неплохо, если бы кто-то мне помог.
У меня есть текстовые файлы, которые выглядят так:
#Zsdfgsdqfq
#A100,56
#Zjtdhsdfg
#Zadsdf
#B12,53
#Zdwfgs
#C10,00
#Zdsfgdfg
#D40,00
В файле #A, #B, #C и D #числа, которые мне нужно разделить на 6,55957 Это результат, который я хочу:
#A15,33
#Zjtdhsdfg
#Zadsdf
#B1,91
#Zdwfgs
#C1,52
#Zdsfgdfg
#D6,10
Я нашел это полезное обсуждение: Блокнот ++ Как умножить числа на массовую замену?
Так что я использовал плагин скрипта Python в Блокноте ++
Я не могу понять, как управлять десятичными числами и запятой, используемой для десятичного разделителя.
Я обнаружилЯ могу удалить все запятые, а затем разделить результат на 100, и я смогу найти и заменить, чтобы заменить точки запятыми в полученном файле.
Вот мой сценарий, основанный на том, что я прочитал в связанном обсуждении:
def multiply_number_in_context(match):
return "{0}{1}".format(match.group(1), str(int(match.group(2))/655.957)) # thank you Wiktor Stribiżew to explain me how to get rid of this : ,''
editor.rereplace(r'(\#A)(\d+)', multiply_number_in_context)
editor.rereplace(r'(\#B)(\d+)', multiply_number_in_context)
editor.rereplace(r'(\#C)(\d+)', multiply_number_in_context)
editor.rereplace(r'(\#D)(\d+)', multiply_number_in_context)
Вот результат:
#Zsdfgsdqfq
#A15.33027317339399
#Zjtdhsdfg
#Zadsdf
#B1.910186185984752
#Zdwfgs
#C1.524490172374104
#Zdsfgdfg
#D6.097960689496415
Это работает, но теперь мне нужно округлить результаты с двумя десятичными знаками.#A должно быть 15,33, а #D должно быть 6,10
Кажется, способ использует круглую (x, 2) вещь, но я не могу понять, как это сделать.
Iпопытался изменить мой сценарий с помощью таких вещей:
return "{0}{1}{2}".format(match.group(1), str(round(int(match.group(2))/655.957), '')), 2)
или изменить сценарий так, чтобы он округлял числа вместо умножения, но безуспешно у меня есть ошибки синтаксиса и тому подобное.
Было бы любезно, если бы кто-то мог улучшить мой сценарий, чтобы он округлял результат или давал мне другой сценарий, который округляет мои результаты.
Я не хочу изучать программирование, я просто ищу решение.
Спасибо.