python怎么保留两位小数是多少_python 怎么保留2位小数
2010-11-25 回答
import decimal
a = '12.11111'
decimal.Decimal(a).quantize(decimal.Decimal('0.01'))
Decimal('12.11')
补充:
>>> import decimal>>> a = 1>>> b = decimal.Decimal(a).quantize(decimal.Decimal('0.01'))>>> bDecimal('1.00')>>> print b1.00
追问:
这是我做的程序:(要求显示找多少元,多少角,多少分!!)
#=======================================================import
from math import*
#======================================================main module
def main():
price,payment=dataInput()
change=calculateChange(price,payment)
printResults(price,payment,change)
#======================================================= input
def dataInput():
again=0
while again==0:
try:
price=float(input('Price of purchase is '))
payment=float(input('How much you pay? '))
if payment>price:
again=1
else:
print('The payment must greater then the price')
except(ValueError):
print('Bad purchase number!')
return price,payment
#=========================================================== calculate price
def calculateChange(price,payment):
change=payment-price
return change
def printResults(price,payment,change):
import decimal
a=decimal.Decimal(price).quantize(decimal.Decimal('0.01'))
b=decimal.Decimal(payment).quantize(decimal.Decimal('0.01'))
c=decimal.Decimal(change).quantize(decimal.Decimal('0.01'))
print(('Amount of purchase: $'),a)
print(('Payment: $'),b)
print(('Amount of change: $'),c)
m=str(c)
print(' ',m[0],'dollors')
print(' ',m[2],'dimes')
print(' ',m[3],'pennys')
return
#=========================================================== call
main()
现在就是printResult这一部分不会编,我输入价格是4.5,然后支付10,找5.5。然后没有分,就产生错误,请问这怎么修正,才能显示5元,5角,和0分呢?
(加到100分!!!!!)
追答:
#! usr/bin/env python#coding:utf-8
from decimal import Decimal
#======================================================= inputdef dataInput(): again=0 while again==0: try: price = raw_input('Price of purchase is ') payment = raw_input('How much you pay? ') price=Decimal(price.strip()).quantize(Decimal('0.01')) payment=Decimal(payment.strip()).quantize(Decimal('0.01')) if payment>price: again=1 else: print 'The payment must greater then the price' except Exception, e: print e print 'Bad purchase number!' return price,payment#=========================================================== calculate pricedef calculateChange(price,payment): change=payment-price return change#========================================================= print
def convert(money): if not isinstance(money, Decimal): return 'error' money = str(money) yuan, jiao_fen = money.split('.') jiao, fen = jiao_fen[0], jiao_fen[1] return '找零: %s元%s角%s分' % (yuan, jiao, fen) def printResults(): price, payment = dataInput() change = calculateChange(price, payment) print 'Amount of purchase: %s' % price print 'Payment: %s' % payment print 'Amount of change: %s' % change print convert(change) #======================================================main module
if __name__ == '__main__': printResults()说明:
首先你用input()进行输入,如果是输入4.5的话,就直接是float的型了。而Decimal转换float的时候,要先把其转成字符串形式,所有我改成了raw_input()(当成字符串输入)了。其次,算找零的时候不能这样直接用切片操作。如果是4.5 我给了100块钱呢?那元就不是只有一位了。所有先split('.')再切片。位置就固定了。一般用main方法的时候用下面的方法:if __name__ == '__main__': main()
结果:Price of purchase is 4.5How much you pay? 4.6Amount of purchase: 4.50Payment: 4.60Amount of change: 0.10找零: 0元1角0分============Price of purchase is 4.5How much you pay? 100Amount of purchase: 4.50Payment: 100.00Amount of change: 95.50找零: 95元5角0分
补充:
怎么格式全乱了- -#! usr/bin/env python#coding:utf-8
from decimal import Decimal
#======================================================= inputdef dataInput(): again=0 while again==0: try: price = raw_input('Price of purchase is ') payment = raw_input('How much you pay? ') price=Decimal(price.strip()).quantize(Decimal('0.01')) payment=Decimal(payment.strip()).quantize(Decimal('0.01')) if payment>price: again=1 else: print 'The payment must greater then the price' except Exception, e: print e print 'Bad purchase number!' return price,payment#=========================================================== calculate pricedef calculateChange(price,payment): change=payment-price return change#========================================================= print
def convert(money): if not isinstance(money, Decimal): return 'error' money = str(money) yuan, jiao_fen = money.split('.') jiao, fen = jiao_fen[0], jiao_fen[1] return '找零: %s元%s角%s分' % (yuan, jiao, fen) def printResults(): price, payment = dataInput() change = calculateChange(price, payment) print 'Amount of purchase: %s' % price print 'Payment: %s' % payment print 'Amount of change: %s' % change print convert(change) #======================================================main module
if __name__ == '__main__': printResults()
追问:
money 是怎么来的啊?
追答:
money 是个形参。传 change过去用的
convert(change)
追问:
+我Q吧:308216226
python怎么保留两位小数是多少_python 怎么保留2位小数相关推荐
- python如何对两个矩阵进行拼接_Python:合并两个numpy矩阵的实现
Python:合并两个numpy矩阵的实现 numpy是Python用来科学计算的一个非常重要的库,numpy主要用来处理一些矩阵对象,可以说numpy让Python有了Matlab的味道. 如何利用 ...
- python找出两个列表不同元素_python 找出两个列表的相同元素与不同元素
python 找出两个列表的相同元素与不同元素,用了以下几种方法 1. 通过set 集合 list1 = [1,2,3] list2=[2,3,4] set1 = set(list1) set2 = ...
- python怎么交换两个变量的值_python交换两个变量的值方法
大部分语言,例如c语言,交换两个变量的值需要使用中间变量. 例如交换a,b 伪代码: tmp = a a = b b = tmp python里面可以实现无临时变量的交换 (a,b) = (b,a) ...
- python输出保留两位小数怎么表示_python中保留两位小数怎么表示
这里有三种方法, round(a,2) '%.2f' % a Decimal('5.000').quantize(Decimal('0.00')) 当需要输出的结果要求有两位小数的时候,字符串形式的: ...
- python中浮点数和小数的区别_Python中的浮点数和小数
简介 float类型,即浮点数,是Python内置的对象类型;decimal类型,即小数类型,则是Python的标准库之一decimal提供的对象类型,也是内置的.了解decimal类型的最佳资料,就 ...
- python如何对两个矩阵进行拼接_Python合并两个numpy矩阵
numpy是Python用来科学计算的一个非常重要的库,numpy主要用来处理一些矩阵对象,可以说numpy让Python有了Matlab的味道. 实际的应用中,矩阵的合并是一个经常发生的操作,如何利 ...
- python怎样把两个图画到一起_python实现两张图片拼接为一张图片并保存
本文实例为大家分享了python实现两张图片拼接为一张图片并保存的具体代码,供大家参考,具体内容如下 这里主要用Python扩展库pillow中Image对象的paste()方法把两张图片拼接起来 f ...
- python怎么把两个文件合并工具_python开发目录合并小工具 PathMerge
前言 这个程序陆陆续续开发了几天,正好我在学Python,就一边做一边学,倒是学到不少东西. 不得不说python是快速开发的好工具. 程序做了一些改进,这两天又忙着毕设,现在才想起来发到博客上.想想 ...
- python已知两条直角边求斜边_Python实现已知三角形两直角边,求斜边--思路,伪代码,优化...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python实现"已知三角形两个直角边,求斜边" 要求:用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入. ...
最新文章
- java map set_java中Map、Set、List的简单使用教程(快速入门)
- mysql -h139.129.205.80 -p test_db_dzpk db.dump
- spring cloud 学习之 服务注册和发现(Eureka)
- 修改EIGRP 路径cost 值,以及分析和实现等价与非等价负载均衡
- pytorch构造可迭代的DataLoader,动态流式读取数据源,不担心内存炸裂(pytorch Data学习三)
- FPGA设计技巧总结
- 张近东发致家乐福中国员工内部信:唯有坚持、坚守才能取得更大的成功
- Sphinx 使用心得
- 超全的 Python 可视化教程,收藏
- 规划计算机网络的成本估算,传统的项目管理软件包括进度计划、成本控制、资源调度和( )等功能模块。...
- 黑马程序员:一些简单的设计模式
- int 和 枚举类型enum的转换 in c++
- Python八个自动化办公的技巧
- vasp计算压电系数_求助DFTP算出来的压电系数 - 第一原理 - 小木虫 - 学术 科研 互动社区...
- 如何保证同事的代码不会腐烂?一文带你了解 Alibaba COLA 架构
- idea无法识别java文件、Maven下载依赖报错:Cannot resolve...或者Could not find artifact...实测有效
- ctfshow XSS web316-web333 wp
- Promox VE安装黑群晖保姆级图文教程
- 2、用Keil新建TM4C123G工程步骤
- 【错题本】关于protected修饰的成员变量,以下说法正确的是
热门文章
- selenium 模拟手机浏览器操作 click点击/tap触摸 元素无效 的解决方法
- 无法连接同事的计算机,win7开启QQ远程协助连不上别人电脑怎么办_win7系统qq远程协助无法连接对方电脑修复方法...
- 3Dmax建模人物步骤
- 云计算python Spring cloud 微服务
- linux的scp命令用不了,CentOS使用不了scp命令怎么办
- 软件测试基础测试分析法
- ResNet18识别CelebA数据集(Pytorch实战)
- 最新H5定制版早起打卡支付已接带完整搭建教程
- 简单使用系统的设备实现二维码扫描
- 全志H8/a83t专业安卓KTV主板,支持双屏异显,接口丰富,支持vga、hdmi、cvbs显示