类练习题1:将浮点数转化为金额的类
来源:互联网 发布:淘宝指数查询官网 编辑:程序博客网 时间:2024/06/06 03:46
#!/usr/bin/env python class MoneyFmt(object): def __init__(self, money, mark=False): self.__money = money self.__mark = mark def __str__(self): return str(self.__dollarize()) def __repr__(self): return '%s' % self.__money def __nonzero__(self): return bool(self.__money) def update(self, new_money): self.__money = new_money def __dollarize(self): if "-" not in str(self.__money): li = list(str(self.__money).split('.')[0]) else: li = list(str(self.__money).split('.')[0])[1:] if len(li) <= 3: if "-" not in str(self.__money): return "$%.2f" % self.__money else: if self.__mark == False: return "-$%.2f" % abs(self.__money) elif self.__mark == True: return "<->$%.2f" % abs(self.__money) else: rev = "%.2f" % self.__money if "-" not in rev: li = list(rev.split('.')[0]) else: li = list(rev.split('.')[0])[1:] length = len(li) x = divmod(length, 3) if x[1] != 0: count = x[0] else: count = x[0]-1 i = 1 while i <= count: li.insert((length-3), ',') i += 1 length -= 3 if "-" not in rev: string = "$" + ''.join(li) + rev[-3:] else: if self.__mark == False: string = "-$" + ''.join(li) + rev[-3:] elif self.__mark == True: string = "<->$" + ''.join(li) + rev[-3:] return string def _test(): x = MoneyFmt(123456.789) y = MoneyFmt(0.5) z = MoneyFmt(-123) m = MoneyFmt(-123.456,mark=True) print x print y print z print m if __name__ == "__main__": _test()该程序可当做模块导入使用,也可直接运行,直接运行结果如下:
0 0
- 类练习题1:将浮点数转化为金额的类
- JAVA应用: 浮点数转化为大写中文金额
- 将字符串转化为浮点数
- 将小写金额转换为中文大写金额的类
- 将浮点数转化为人民币读法字符串
- 浮点数转化为二进制
- 浮点数转化为字符串
- 浮点数转化为字符串
- 浮点数转换为大写货币金额
- 从命令行接收一个数,并将其转化为中文金额的大写方式(C++版)
- 将小写金额转化为大写
- 将数字金额转化为汉字大写
- JavaScript 动态将数字金额转化为中文大写金额
- 浮点数的内存方式以及由内存转化为浮点数
- java将小写金额转换为大写的工具类
- java将小写金额转换为大写的工具类
- 浮点数转化为字符串程序分析
- 浮点数陷阱:转化为整数
- 第七周项目3 将负数赶出队列
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- hihocodxer1187 Divisors
- Linux查看CPU和内存使用情况
- 【巩固地基】系列之:unity基础读书笔记(杂)
- 类练习题1:将浮点数转化为金额的类
- HttpClient使用详解
- 亚马逊是搜索领域最大竞争对手
- Hbase与Oracle比较(列式数据库与行式数据库)
- 3D游戏开发学习规划
- 基础数论模版
- 协方差的意义和计算公式
- 【LWJGL官方教程】Introduction 入门
- Problem E. Epic Win!