python核心编程第十三章 13.3
来源:互联网 发布:设置端口untagged 编辑:程序博客网 时间:2024/05/16 10:04
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__('-')
0 0
- python核心编程第十三章 13.3
- python核心编程--第十三章
- python核心编程 第十三章 13.4
- python 核心编程2 第十三章练习
- Python核心编程(第十三章)--面向对象编程
- Python核心编程学习笔记-Python核心编程第七章
- python核心编程第六章
- Python 核心编程第十八章
- Python核心编程 第三章
- Python核心编程 第四章
- Python核心编程 第六章
- Python核心编程 第七章
- Python核心编程 第八章
- Python核心编程 第九章
- Python核心编程 第十章
- Python核心编程 第十一章
- 《python核心编程》第八章
- 《Python核心编程》第九章
- git原理浅析及命令介绍
- 德玛西亚!!!啦啦啦啦啦啦啦!!!!
- log4j xml配置详解
- 实现foreach循环,通过iterable接口和iterator实例
- 6.3线索二叉树(二叉树的线索化)
- python核心编程第十三章 13.3
- JS验证身份证号,各种验证已做,最完整的
- 由strdup及strndup想到的一些问题
- The type sun.management.ManagementFactory is not visible
- Cts框架解析(7)-任务执行的调度室
- 做为一个程序员应该看的书籍
- mvc
- nslookup工具的使用方法
- Gibbs sampling