小編給大家分享一下python默認(rèn)保留幾位小數(shù)的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
和平網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
處理一個(gè)數(shù)據(jù)文件,發(fā)現(xiàn)數(shù)據(jù)不一致,小數(shù)點(diǎn)后有三位、四位、六位、更多位。部分還進(jìn)行四舍五入。
需要對(duì)數(shù)據(jù)文件進(jìn)行處理。如果有效位超過(guò)6位,則四舍五入。如果小于6位,則保持原來(lái)的數(shù)字不變。
考慮兩種情況:
小數(shù)點(diǎn)后無(wú)數(shù)字:判斷數(shù)字有效位(len(str(num))-1)是否超過(guò)6,超過(guò)則通過(guò)整除去尾,沒(méi)有則返回
小數(shù)點(diǎn)后有數(shù)字:判斷數(shù)字有效位(len(str(num))-1)是否超過(guò)6,超過(guò)則四舍五入round(f, n - len(str(int(f)))),沒(méi)有則返回。
代碼:
def format(f, n): if round(f)==f: m = len(str(f))-1-n if f/(10**m) ==0.0: return f else: return float(int(f)/(10**m)*(10**m)) return round(f, n - len(str(int(f)))) if len(str(f))>n+1 else f
注意:
round不是簡(jiǎn)單的四舍五入
round()如果只有一個(gè)數(shù)作為參數(shù),不指定位數(shù)的時(shí)候,返回的是一個(gè)整數(shù),而且是最靠近的整數(shù)(這點(diǎn)上類似四舍五入)。但是當(dāng)出
現(xiàn).5的時(shí)候,兩邊的距離都一樣,round()取靠近的偶數(shù),這就是為什么round(2.5) = 2。當(dāng)指定取舍的小數(shù)點(diǎn)位數(shù)的時(shí)候,一般情況也是
使用四舍五入的規(guī)則,但是碰到.5的這樣情況,如果要取舍的位數(shù)前的小樹是奇數(shù),則直接舍棄,如果偶數(shù)這向上取舍??聪旅娴氖纠?/p>
>>> 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
看完了這篇文章,相信你對(duì)python默認(rèn)保留幾位小數(shù)的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前名稱:python默認(rèn)保留幾位小數(shù)的方法
分享路徑:http://vcdvsql.cn/article16/gjdigg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、響應(yīng)式網(wǎng)站、服務(wù)器托管、動(dòng)態(tài)網(wǎng)站、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)