class MoneyFmt(object):
def __init__(self, num):
'''initalize of the class'''
self.num = num
def __str__(self, flag = '-'):
'''change the float into us dollars'''
self.flag = True
self.num = round(self.num,2)
if self.num < 0:
self.flag = False
self.num = str(abs(self.num))
self.intergePart, self.decimalPart = self.num.split('.')
self.intergePart = '0' + self.intergePart
self.digit = len(self.intergePart) -1
self.list1 = []
if self.digit > 3:
self.former = self.digit%3+1
self.list1.append(self.intergePart[1:self.former])
self.begin = self.former
for self.i in range(self.begin,self.digit+2):
if self.i - self.former == 3:
self.list1.append(self.intergePart[self.former:self.i])
self.former = self.i
else:
self.list1.append(self.intergePart[1:])
if self.flag == True:
self.outstring = '$' + ','.join(self.list1) + '.' + self.decimalPart
else:
if flag == '-':
self.outstring = '-' + '$' + ','.join(self.list1) + '.' + self.decimalPart
elif flag == '<':
self.outstring = '<' + '$' + ','.join(self.list1) + '.' + self.decimalPart + '>'
return self.outstring
def __nonzero__(self):
'''when the number is not zero return true'''
if self.num == 0:
return True
else:
return False
def __repr__(self):
'''return the number in the format of float'''
return float(self.num)
def __update__(self, num):
'''change the number you input'''
self.num = num
doller1 = MoneyFmt(-13432423.2131)
print doller1.__str__('<')
print doller1.__repr__()
doller1.__update__(124121321.2313)
print doller1.__str__('-')
def __init__(self, num):
'''initalize of the class'''
self.num = num
def __str__(self, flag = '-'):
'''change the float into us dollars'''
self.flag = True
self.num = round(self.num,2)
if self.num < 0:
self.flag = False
self.num = str(abs(self.num))
self.intergePart, self.decimalPart = self.num.split('.')
self.intergePart = '0' + self.intergePart
self.digit = len(self.intergePart) -1
self.list1 = []
if self.digit > 3:
self.former = self.digit%3+1
self.list1.append(self.intergePart[1:self.former])
self.begin = self.former
for self.i in range(self.begin,self.digit+2):
if self.i - self.former == 3:
self.list1.append(self.intergePart[self.former:self.i])
self.former = self.i
else:
self.list1.append(self.intergePart[1:])
if self.flag == True:
self.outstring = '$' + ','.join(self.list1) + '.' + self.decimalPart
else:
if flag == '-':
self.outstring = '-' + '$' + ','.join(self.list1) + '.' + self.decimalPart
elif flag == '<':
self.outstring = '<' + '$' + ','.join(self.list1) + '.' + self.decimalPart + '>'
return self.outstring
def __nonzero__(self):
'''when the number is not zero return true'''
if self.num == 0:
return True
else:
return False
def __repr__(self):
'''return the number in the format of float'''
return float(self.num)
def __update__(self, num):
'''change the number you input'''
self.num = num
doller1 = MoneyFmt(-13432423.2131)
print doller1.__str__('<')
print doller1.__repr__()
doller1.__update__(124121321.2313)
print doller1.__str__('-')