簡單的說,round是使用四舍五入對小數(shù)進行位數(shù)控制的函數(shù),
創(chuàng)新互聯(lián)主營馬龍網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā),馬龍h5小程序開發(fā)搭建,馬龍網(wǎng)站營銷推廣歡迎馬龍等地區(qū)企業(yè)咨詢
round(a, b), a參數(shù)是小數(shù),b是小數(shù)點后保留的位數(shù)。
實際使用需要考慮的python2和python3版本的差異與小數(shù)精度的問題。
參考
它是內(nèi)置函數(shù)。build-in,應(yīng)該是C語言的。用的應(yīng)該是 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);
}
方法1:用round函數(shù)
a=12.34567889
round(a,1)=12.3
#保留一位小數(shù)
方法2:格式化輸入
a=12.34567889
print(“%.1f”%a)
#保留一位小數(shù)
方法3:引入decimal函數(shù)
from decimal import Decimal
a=134.5657768
t=Decimal(“134.5657768”).quantize(Decimal(“0.0”))
print(t)
#輸出結(jié)果:1134.5
說明:format函數(shù)就是一種" 特殊的占位符 "!但輸出多個數(shù)據(jù)時,用format占位符比直接用字符串中的占位符要方便一些。
用format函數(shù)控制輸出的小數(shù)點位數(shù)(滿足4舍5入):
補充:format的4舍5入功能,和round(a, num)實現(xiàn)功能是一樣的!
參數(shù)說明:a是待判斷的數(shù)(只能是一個數(shù),不能是列表或其他容器類型);num是保留位數(shù)。
f = lambda x, n: round(x, n - len(str(int(x))));
定義了一個方法f,用來實現(xiàn)你所說的功能。
輸入:
f(123.456789, 8)
輸出:
123.45678
輸入:
f(1.23456789, 8)
輸出:
1.2345679000000001
f接收2個參數(shù),第一個參數(shù)是要求有效位數(shù)的數(shù)字,第二個參數(shù)是設(shè)置有效位數(shù)。第二次輸出中的數(shù)字不夠準確,這跟python處理小數(shù)的方式有關(guān),如果想要準確的數(shù)字可以使用python decimal類?;蛘哂胮ython3k
擴展資料
#include?stdio.h
#define?C?"C?Programming"
int?main(void)
{
int?a=12345;
float?b=5.12345678;
char?e,d,f;
scanf("%c?%c?%c",e,d,f);
printf("int?is:%d\n",a);
printf("float?is:%f\n",b);
printf("char?is:%s\n",C);?
return?0;
}
1,對于浮點數(shù)
a=1.36852
a=round(a,2)
print a
#結(jié)果1.36
2,對于整數(shù)
from decimal import Decimal
a=1
a=Decimal(a).quantize(Decimal('0.00'))
print a
#結(jié)果1.00
3,通用方法
a=1
a=("%.2f" % a)
print a
#結(jié)果1.00
參考資料:百度百科 Python
百度百科 printf
這可以分兩種情況分析:
1
如果直接丟棄小數(shù)部分,只保留整數(shù)部分的話,可以使用int函數(shù)。
2
如果要求小數(shù)部分對整數(shù)部分有進位,可以使用round函數(shù)。
下面是一個例子:
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))