1

eval() を使用して評価される動的に変化する文字列があります。現在、「0」で始まる数値は、8 進法を使用して表されます。例えば。eval('030') = 24

現在、同様の問題を抱えた別のスレッドがあります(文字列内のすべての8進数値を整数として評価するPythonicの方法)。スレッドの解決策は、正規表現について言及しています

re.sub(r'\b0+(?!\b)', '', some_string)

これでほとんどの場合は問題なく動作しますが、たとえば '0.08' を評価する必要がある場合、前述の正規表現はうまく機能しません。 ) から sin(0.8) など...) . 正規表現に関する知識が限られているため、問題の解決を進めることができませんでした。基本的に、指定された正規表現を変更して、小数点の直後のゼロを無視するにはどうすればよいですか? ありがとう!

4

2 に答える 2

0

本当に使用する必要がありますevalか? 文字列を数値に変換するだけの場合は、次を使用しますfloat

>>> float('0010.001')
10.001
于 2013-02-24T10:59:20.110 に答える