python字符串格式化函数

时间:2012-09-20 00:18:51

标签: python

我有一堆字符串格式的数字,我想要一些关于格式化这些函数的想法。

离。

输入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

对于包含负号的字符串,我能想到的一个灵魂如下 恩。     num =“0000-123.00”

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

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

这会给我数字为-0000123.00,但我不知道如何摆脱前导零。

1 个答案:

答案 0 :(得分: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))