python保留2位小数一般用以下几种:
创新互联主要从事网站制作、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务永州,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
①round函数
②format(float_num,'0.2f')
③decimal
一、先说下这次的重点想说的decimal,可以精确的四舍五入保留两位小数。
①可以传给decimal整形或者字符型,不能传浮点型,因为浮点型本身就是不精确的数
但是如果一定要是浮点型,可以以下:
正常情况下
二、round函数,大部分情况下可以四舍五入,但是遇到要保留位数后一位是5时,是不会进1位的
三、format和round类似
它是内置函数。build-in,应该是C语言的。用的应该是 c的library
在python2.73.源码中
有这样一句。pymath.h:extern double round(double);
在pymath.c中定义如下:
#ifndef HAVE_ROUND
double
round(double x)
{
double absx, y;
absx = fabs(x);
y = floor(absx);
if (absx - y = 0.5)
y += 1.0;
return copysign(y, x);
}
strip()函数原型:string.strip(s[, chars]),它返回的是字符串的副本,并删除前导和后缀字符。此函数只会删除头和尾的字符,中间的不会删除。如果strip()的参数为空,那么会默认删除字符串头和尾的空白字符(包括\n,\r,\t)。lstrip():去除左边,rstrip():去除右边。当你传的参数不管是“abc”还是abc的其他排列形式,这都不重要,重要的是函数只知道你要删除的字符是”a”,”b”,”c”。函数会把你传的参数拆解成一个个的字符,然后把头尾的这些字符去掉!
方法1:用round函数
a=12.34567889
round(a,1)=12.3
#保留一位小数
方法2:格式化输入
a=12.34567889
print(“%.1f”%a)
#保留一位小数
方法3:引入decimal函数
from decimal import Decimal
a=134.5657768
t=Decimal(“134.5657768”).quantize(Decimal(“0.0”))
print(t)
#输出结果:1134.5
情况一:保留两位小数,并做四舍五入处理
1、使用字符串格式化
2、使用round内置函数
情况二:保留两位小数,无需四舍五入处理
1、使用序列中切片
2、使用re模块
这可以分两种情况分析:
1
如果直接丢弃小数部分,只保留整数部分的话,可以使用int函数。
2
如果要求小数部分对整数部分有进位,可以使用round函数。
下面是一个例子:
print(int(12.3),int(12.4))
print(int(12.5),int(12.6))
print(int(12.7),int(12.8))
print(round(12.3))
print(round(12.4))
print(round(12.5))
print(round(12.6))
print(round(12.7))
print(round(12.8))