1

質問する前にしばらく見回しましたが、正規表現を使用した電子メールと通貨の変換に関する多くの方法を見つけたようですが、数値に設定値を掛けるだけでは何も見つかりませんでした。基本的に、私は通貨値フィールドを持っています: 127.25GBP を 165.42 に変換する必要があります (小数点以下 2 桁のみで、通貨インジケータはありません)。

あなたの助けは大歓迎です!

ありがとう

デル

4

2 に答える 2

2

正規表現は、算術ではなく、テキスト マッチングを目的としています。たとえば、Perl や Awk など、正規表現を受け入れるツールの一部を使用して算術演算を実行できます。

于 2011-02-15T11:36:37.327 に答える
0

正規表現は、本質的に文字列の照合を目的としており、一部のソフトウェア ライブラリでは、文字列を他の文字列に置き換えたり、同様の文字列処理を行ったりしますが、数学を行うためのものではありません。正規表現を使用してキャプチャした値を数値型に保存し、それに対して乗算を行い、必要に応じて結果を文字列として再度フォーマットする必要があります。

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 で十分です。

于 2011-02-15T11:42:11.490 に答える