質問する前にしばらく見回しましたが、正規表現を使用した電子メールと通貨の変換に関する多くの方法を見つけたようですが、数値に設定値を掛けるだけでは何も見つかりませんでした。基本的に、私は通貨値フィールドを持っています: 127.25GBP を 165.42 に変換する必要があります (小数点以下 2 桁のみで、通貨インジケータはありません)。
あなたの助けは大歓迎です!
ありがとう
デル
質問する前にしばらく見回しましたが、正規表現を使用した電子メールと通貨の変換に関する多くの方法を見つけたようですが、数値に設定値を掛けるだけでは何も見つかりませんでした。基本的に、私は通貨値フィールドを持っています: 127.25GBP を 165.42 に変換する必要があります (小数点以下 2 桁のみで、通貨インジケータはありません)。
あなたの助けは大歓迎です!
ありがとう
デル
正規表現は、算術ではなく、テキスト マッチングを目的としています。たとえば、Perl や Awk など、正規表現を受け入れるツールの一部を使用して算術演算を実行できます。
正規表現は、本質的に文字列の照合を目的としており、一部のソフトウェア ライブラリでは、文字列を他の文字列に置き換えたり、同様の文字列処理を行ったりしますが、数学を行うためのものではありません。正規表現を使用してキャプチャした値を数値型に保存し、それに対して乗算を行い、必要に応じて結果を文字列として再度フォーマットする必要があります。
Python 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
ただし、本格的な通貨計算を行う場合は、float の代わりに固定小数点の int (または Python decimal の場合) を使用することをお勧めします。近似には float で十分です。