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

对于包含负号的字符串,我可以想到的一种方法如下。数字 = "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 回答