python中如何实现float(3/5)=0.6?

float(3/5)=0.6当然不能直接实现,问题是如何把分数定义成实形而参与计算呢?望高手赐教!其实两位的回答对我都很有帮助!在此说声谢谢了!... float(3/5)=0.6当然不能直接实现,问题是如何把分数定义成实形而参与计算呢?望高手赐教!
其实两位的回答对我都很有帮助!在此说声谢谢了!
展开
 我来答
y203344
推荐于2016-04-23 · TA获得超过989个赞
知道小有建树答主
回答量:755
采纳率:66%
帮助的人:474万
展开全部
3和5 都是整数类型,3/5得出的结果也必定是整数,不会出现小数。所以有除不尽的,只会显示商,而不显示余数。求余是3 % 5 得出3,还是不能被整除。
可以转化成float浮点数在进行除法运算。
float(3) / float(5)
0.6
PingPingFr
2009-03-12 · TA获得超过147个赞
知道答主
回答量:47
采纳率:0%
帮助的人:0
展开全部
可以使用Fraction类 (2.6以上版本)
>>> from fractions import Fraction
>>> frac = Fraction('3/5')
>>> print frac
3/5
>>> print float(frac)
0.6

虽然看起来有点长 至少不用再考虑int or float这种问题了

参考资料: http://docs.python.org/library/fractions.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
king6o60
2009-03-12 · TA获得超过872个赞
知道小有建树答主
回答量:1356
采纳率:0%
帮助的人:933万
展开全部
当然不可以那样直接实现。3/5的结果必然是int,所以你再float是无效的。因此可以在除之前,转换格式,比如float(3)/float(5)就可以了,如果你想实现一个myfloat函数那么可以如下:
def myfloat(x):
a = x.split("/")
return float(a[0])/float(a[1])
我没有测试,当然你可以试试,还有,里面可以加上try什么的做些判断,就留给楼主自己去完善了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式