python中如何实现float(3/5)=0.6?
float(3/5)=0.6当然不能直接实现,问题是如何把分数定义成实形而参与计算呢?望高手赐教!其实两位的回答对我都很有帮助!在此说声谢谢了!...
float(3/5)=0.6当然不能直接实现,问题是如何把分数定义成实形而参与计算呢?望高手赐教!
其实两位的回答对我都很有帮助!在此说声谢谢了! 展开
其实两位的回答对我都很有帮助!在此说声谢谢了! 展开
3个回答
展开全部
可以使用Fraction类 (2.6以上版本)
>>> from fractions import Fraction
>>> frac = Fraction('3/5')
>>> print frac
3/5
>>> print float(frac)
0.6
虽然看起来有点长 至少不用再考虑int or float这种问题了
>>> 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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然不可以那样直接实现。3/5的结果必然是int,所以你再float是无效的。因此可以在除之前,转换格式,比如float(3)/float(5)就可以了,如果你想实现一个myfloat函数那么可以如下:
def myfloat(x):
a = x.split("/")
return float(a[0])/float(a[1])
我没有测试,当然你可以试试,还有,里面可以加上try什么的做些判断,就留给楼主自己去完善了。
def myfloat(x):
a = x.split("/")
return float(a[0])/float(a[1])
我没有测试,当然你可以试试,还有,里面可以加上try什么的做些判断,就留给楼主自己去完善了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询