bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

python中四舍五入的方法

本篇內容介紹了“python中四舍五入的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

在卓資等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供成都網站制作、成都網站建設 網站設計制作按需網站開發,公司網站建設,企業網站建設,品牌網站制作,全網營銷推廣,成都外貿網站制作,卓資網站建設費用合理。

一、傳統的round函數

在python中,四舍五入并非數值運算中想象的那樣簡單,在程序運行的時候最終其實是轉為二進制進行運算的,轉換過程中可能出現錯誤的情況,是由于二進制轉換過程中,浮點數的精度不一定能精確表達,導致精度丟失的問題造成的。因此在python中,如果對精度有一定要求的話,就不要使用round函數了,而是建議使用decimal庫。

舉例:

>>> x=123.455

>>> x

123.455

>>> a=round(x)

>>> a

123

>>> a=round(x,1)

>>> a

123.5

>>> a=round(x,2)

>>> a

123.45   #這個結果出現錯誤

從這個案例可以看出,當我們使用round函數進行四舍五入運算的時候,我們需要注意結果的正確性  ,可  能會  出現精度錯誤。

二、精度有要求的decimal

Python中用來計算十進制的模塊Decimal模塊,可以查看二進制進度丟失的情況。

>>> x

123.455

>>> print(decimal.Decimal(x))

123.4549999999999982946974341757595539093017578125

提問:如何解決因二進制精度存儲丟失,造成的四舍五入問題?

首先,導入

from decimal import Decimal, Context, ROUND_HALF_UP

然后,開始四射五入法

>>> a=decimal.Context(prec=5,rounding=decimal.ROUND_HALF_UP).create_decimal('123.455')

>>> a

Decimal('123.46')

注意錯誤的方式和正確的方式

X=123.455

錯誤的方式,參數沒有轉為字符串

>>> a=decimal.Context(prec=5,rounding=decimal.ROUND_HALF_UP).create_decimal(x)

>>> a

Decimal('123.45’)

正確的方式,需要先將x轉為字符串

>>> a=decimal.Context(prec=5,rounding=decimal.ROUND_HALF_UP).create_decimal(str(x))

>>> a

Decimal('123.46')

解釋:四舍五入需要用到的函數

Context函數,有很多參數,都有默認的值,我們做四舍五入時候,只需要改變兩個參數的值來設置python的context處理環境即可。

  • 參數1是prec參數,用來顯示最終的數值位數,這個數值位數包含整數部分和小數部分。

  • 參數2是rounding參數,改為ROUND_HALF_UP作為四舍五入方式。

create_decimal函數,注意參數值是一個字符串

三、總結強調

1.默認情況下,python環境采用的是銀行家的算法/思維。

2.靈活運用四舍五入的幾個函數context函數,create_decimal函數。

3.掌握利用decimal模塊下的Decimal函數來查看二進制存儲的精度誤差的方式。

“python中四舍五入的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!

分享文章:python中四舍五入的方法
鏈接分享:http://vcdvsql.cn/article14/pejoge.html

成都網站建設公司_創新互聯,為您提供服務器托管外貿網站建設網站收錄響應式網站標簽優化網站策劃

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管