python整形浮点型运算规则

Posted haolemao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python整形浮点型运算规则相关的知识,希望对你有一定的参考价值。

 

https://www.cnblogs.com/fwindpeak/p/4891212.html

在python中,默认情况下,如果表达式中全是整型,结果也会仅仅是整型。有时候没注意会出现意想不到的结果,比如:

1
2
3
4
5
>>> a = 7
>>> b = 3
>>> c = a/b
>>> print c
2

有时候一不小心会造成一定错误,所以需要得到浮点精度的结果时,表达式中必须要有浮点类型时才行。

如果是常数,可以通过加.0来解决

1
2
>>> print 7.0/3
2.33333333333

如果全是变量,可以使用float函数转换,或者*1.0,比如

1
2
3
4
5
6
>>> a = 7
>>> b = 3
>>> print float(a)/b
2.33333333333
>>> print a*1.0/b
2.33333333333

但是记得在第一位的时候就开始转换,否则依然会出现问题,比如

1
2
3
4
5
6
7
>>> a=7
>>> b=3
>>> c=2
>>> print a/b*float(c)
4.0
>>> print float(a)/b*c
4.66666666667

以上是关于python整形浮点型运算规则的主要内容,如果未能解决你的问题,请参考以下文章

整型除以浮点型是啥型?

C语言的浮点型怎么转换为整型?

java整形数据和浮点型数据

C语言中,一个整型对一个浮点型取余是怎样运算的?

python 浮点运算 及 小数点精确位数

请问各位大神,python中浮点型(float)和整形(int)可以比较大小吗?