Python中的十进制数解析

时间:2017-11-01 19:32:34

标签: python

我的号码如下:

  

0.12

在我的代码中,我将此数字转换为字符串,并将其从“点”解析为十进制,如下所示:

CALayer

我的问题是,当我尝试将此数字转换为str python时,在数字前添加0并保持数字为:

  

0.12

我想知道如何避免在此

前加零

1 个答案:

答案 0 :(得分:0)

试试这个:

def _remove_leading_zero(value, string):
    if 1 > value > -1:
        string = string.replace('0', '', 1)
    return string


class MyFloat(float):
    def __str__(self):
        string = super().__str__()
        return _remove_leading_zero(self, string)

    def __format__(self, format_string):
        string = super().__format__(format_string)
        return _remove_leading_zero(self, string)


print(MyFloat(.12))

你现在可以飞向月球:)))祝你好运。