python字符串格式化函数

python字符串格式化函数,python,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”

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

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


这将使我的num为-0000123.00,但我不确定如何去掉前导零。

您可以这样解析数字:

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))

如果不是第六个输入示例,您可以简单地执行
float(s.lstrip('0'))
@如果这个答案是好的,你应该接受它。
num = "{:0.2f}".format(parse_funky_numstring(s))