python小數點位數
① python中時間戳小數點後面位數的含義
time.time()獲取的字串為linux時間戳
表示從1970年1月1日起至當前的天數或秒數
如1394521866.78
表示,這個時間為獲取時到1970年1月1日的秒數,也就是1394521866.78s
小數點後嘛,當然就是看你精確到多少了,毫秒、微妙等等
② Python中如何獲得小數點位數
常用方法
1.可以傳遞給Decimal整型或者字元串參數,但不能是浮點數據,因為浮點數據本身就不準確。
2.要從浮點數據轉換為Decimal類型
③ Python(0:.2f)什麼意思
小數點後保留兩位小數。
%。2f表示小數點後顯示的小數位數。%。2f小數點後保留兩位小數。%06d表示輸出的整數顯示位數,不足以0補全,超出當前位數則原樣輸出。
Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言。Python由GuidovanRossum於1989年底發明,第一個公開發行版發行於1991年。
④ python當中如何確定一個數有幾位小數
判定是否為數字方法一:
try:
float(s)
return True
exceptValueError:
pass
try:
importunicodedata
unicodedata.numeric(s)
return True
except (TypeError
, ValueError):
pass
return False
方法二:普通十進制正常處理
對於非十進制還需要更復雜的方法,不過這里不討論,只討論普通十進制數的影響。
十進制數格式一般有以下幾種(整數、小數、科學計數法):
+123 [符號位][數字]
-123.123 [符號位][小數點][數字]
+123E+123 [整數或小數][E或者D,大小寫皆可][整數]
⑤ 如何在Python中保留小數
f = lambda x, n: round(x, n - len(str(int(x))));
定義了一個方法f,用來實現你所說的功能。
輸入:
f(123.456789, 8)
輸出:
123.45678
輸入:
f(1.23456789, 8)
輸出:
1.2345679000000001
f接收2個參數,第一個參數是要求有效位數的數字,第二個參數是設置有效位數。第二次輸出中的數字不夠准確,這跟python處理小數的方式有關,如果想要准確的數字可以使用python decimal類。或者用python3k
(5)python小數點位數擴展閱讀
#include<stdio.h>
#defineC"CProgramming"intmain(void)
{
inta=12345;floatb=5.12345678;
chare,d,f;
scanf("%c%c%c",&e,&d,&f);
printf("intis:%d ",a);
printf("floatis:%f ",b);
printf("charis:%s ",C);return0;
}
1,對於浮點數
a=1.36852
a=round(a,2)
print a
#結果1.36
2,對於整數
from decimal import Decimal
a=1
a=Decimal(a).quantize(Decimal('0.00'))
print a
#結果1.00
3,通用方法
a=1
a=("%.2f" % a)
print a
#結果1.00
⑥ python怎麼控制小數點位數比如float類型a=1.23456789,我想把a轉化為a=1.2345的形式,這個怎麼轉化呀
就是字元串格式化吧
欄位寬度和精度
>>> '%6f' % 4.58 #欄位寬度6
>>> '4.580000'
>>> '%6.3f' % 4.58 #欄位寬度6, 精度3
>>> ' 4.580' #注意,前面有個空格哦
>>> '%.3f' % 4.58 #精度3
>>> '4.580'
⑦ python 如何控制輸出的小數長度
Python裡面小數點長度精度控制方法:
一、要求較小的精度
將精度高的浮點數轉換成精度低的浮點數。
1.round()內置方法
這個是使用最多的,剛看了round()的使用解釋,也不是很容易懂。round()不是簡單的四捨五入的處理方式。
For the built-in types supporting round(), values are rounded to the
closest multiple of 10 to the power minus ndigits; if two multiples are equally
close, rounding is done toward the even choice (so, for example, both round(0.5)
and round(-0.5) are 0, and round(1.5) is 2).
>>> round(2.5)
2
>>> round(1.5)
2
>>> round(2.675)
3
>>> round(2.675, 2)
2.67
round()如果只有一個數作為參數,不指定位數的時候,返回的是一個整數,而且是最靠近的整數(這點上類似四捨五入)。但是當出現.5的時候,兩邊的距離都一樣,round()取靠近的偶數,這就是為什麼round(2.5)
=
2。當指定取捨的小數點位數的時候,一般情況也是使用四捨五入的規則,但是碰到.5的這樣情況,如果要取捨的位數前的小樹是奇數,則直接舍棄,如果偶數這向上取捨。看下面的示例:
>>> round(2.635, 2)
2.63
>>> round(2.645, 2)
2.65
>>> round(2.655, 2)
2.65
>>> round(2.665, 2)
2.67
>>> round(2.675, 2)
2.67
2. 使用格式化
效果和round()是一樣的。
>>> a = ("%.2f" % 2.635)
>>> a
'2.63'
>>> a = ("%.2f" % 2.645)
>>> a
'2.65'
>>> a = int(2.5)
>>> a
2
二、要求超過17位的精度分析
python默認的是17位小數的精度,但是這里有一個問題,就是當我們的計算需要使用更高的精度(超過17位小數)的時候該怎麼做呢?
1. 使用格式化(不推薦)
>>> a = "%.30f" % (1/3)
>>> a
'0.'
可以顯示,但是不準確,後面的數字往往沒有意義。
2. 高精度使用decimal模塊,配合getcontext
>>> from decimal import *
>>> print(getcontext())
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999,
capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero,
Overflow])
>>> getcontext().prec = 50
>>> b = Decimal(1)/Decimal(3)
>>> b
Decimal('0.')
>>> c = Decimal(1)/Decimal(17)
>>> c
Decimal('0.')
>>> float(c)
0.058823529411764705
默認的context的精度是28位,可以設置為50位甚至更高,都可以。這樣在分析復雜的浮點數的時候,可以有更高的自己可以控制的精度。其實可以留意下context裡面的這rounding=ROUND_HALF_EVEN
參數。ROUND_HALF_EVEN, 當half的時候,靠近even.
三、關於小數和取整
既然說到小數,就必然要說到整數。一般取整會用到這些函數:
1. round()
這個不說了,前面已經講過了。一定要注意它不是簡單的四捨五入,而是ROUND_HALF_EVEN的策略。
2. math模塊的ceil(x)
取大於或者等於x的最小整數。
3. math模塊的floor(x)
去小於或者等於x的最大整數。
>>> from math import ceil, floor
>>> round(2.5)
2
>>> ceil(2.5)
3
>>> floor(2.5)
2
>>> round(2.3)
2
>>> ceil(2.3)
3
>>> floor(2.3)
2
>>>
⑧ python種如何輸出指定位小數
方法一:round(X, N)
該方法並不嚴格有效,當X小數位數n<N時,僅能夠輸出n位小數。
方法二:print('%.Nf'%X)或者print("%.Nf"%X)
注意該方法有兩個「%」,沒有「,」。
方法三:print(format(X, '.Nf')或者print(format(X,".Nf")
注意該方法沒有"%",但有「,」。
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於python種如何輸出指定位小數的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
⑨ python怎麼控制小數點位數
a=1.2345
a=round(a,2)#a四捨五入,精確到小數點後兩位
⑩ python 保留小數位數的問題
i=1.23456
round(i,2)可以把i四捨五入保留二位小數