2011-02-15 4 views
0

내가 물어보기 전에 잠시 둘러 보았지만 정규식을 사용하여 전자 메일 및 통화 변환을하는 방법을 많이 찾았지만 숫자에 설정 값을 곱하는 것에는별로 도움이되지 않습니다. 본질적으로 통화 값 필드가 있습니다. 127.25GBP는 165.42로 변환해야합니다 (소수점 두 자리 만 있고 통화 표시기 없음) 할 수 있습니까? 그렇다면 어떻게 할 수 있습니까?Regex multiplication

도움을 주시면 대단히 감사하겠습니다.

고맙습니다

델은

+0

@kusma 및 @Olli, 정보에 대한 사람들이 많습니다. 내 응용 프로그램을 사용하면 Regex C# 및 VB.NET이있는 콘텐츠 변환 도구를 사용할 수 있습니다. 정규식이 좋지 않으면 C# 또는 VB.NET에 대한 아이디어가 있습니까? – Del

답변

2

정규 표현식은 텍스트 일치하지를 arithmetics위한 것입니다. 정규 표현식을 허용하는 도구 중 일부는 Perl 및 Awk와 같은 연산을 수행하는 데 사용될 수 있습니다.

0

정규 표현식은 문자열을 일치시키고 문자열을 다른 것으로 바꾸거나 유사한 문자열 처리를위한 일부 소프트웨어 라이브러리에서는 사용되지만 수학에서는 사용하지 않습니다. 정규식을 사용하여 캡처 한 값을 숫자 형식에 저장하고 곱셈을 수행 한 다음 필요에 따라 결과를 다시 문자열 형식으로 지정해야합니다. 파이썬 2.7에서

:

import re 
exchangeRate = 165.42/127.25 
numString = re.match('(\d+.\d\d)GBP', '127.25GBP').group(1) 
num = float(numString) 
numConverted = num * exchangeRate 
numConvertedFormatted = "%.2f" % numConverted 

심각한 통화 계산을하고 있다면, 그래도, 고정 소수점 INT (또는 파이썬, 소수의 경우) 대신에 플로트를 사용하기위한 조언을 것입니다. 근사를 위해 float는 충분합니다.

+0

또는'int' 대신'decimal'을 사용하십시오. –

+0

오, 그래, 파이썬도 그걸 가지고있다. –