0

文字列形式の数値がたくさんあります。これらをフォーマットする関数についていくつかのアイデアが欲しいです。

元。

入力 00000000.00 - 0.00 を出力する必要があります

入力 00000123.00 - 123.00 を出力する必要があります

0000-123.00 を入力 - -123.00 を出力する必要があります

00-00123.45 を入力 - -123.45 を出力する必要があります

入力 -0000123.00 - -123.00 を出力する必要があります

00000000.-5 を入力 - -0.05 を出力する必要があります

0000000-.25 を入力 - -0.25 を出力する必要があります

マイナス記号を含む文字列に対して私が考えることができる 1 つの解決策は次のとおりです。数値 = "0000-123.00"

if num.find("-") != -1:

    num = "-" + num.replace("-","")

これにより num が -0000123.00 になりますが、先頭のゼロを取り除く方法がわかりません。

4

1 に答える 1

0

次のように数値を解析できます。

def parse_funky_numstring(s):
    neg = s.count('-') % 2
    s = s.replace('-', '0')
    num = float(s)
    return -num if neg else num

次に、Pythonの文字列フォーマットを使用してフォーマットします。

num = "{:0.2f}".format(parse_funky_numstring(s))
于 2012-09-20T00:46:18.103 に答える