情況一:保留兩位小數,并做四舍五入處理

網站建設哪家好,找成都創新互聯!專注于網頁設計、網站建設、微信開發、微信平臺小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了海州免費建站歡迎大家使用!
1、使用字符串格式化
2、使用round內置函數
情況二:保留兩位小數,無需四舍五入處理
1、使用序列中切片
2、使用re模塊
python保留2位小數一般用以下幾種:
①round函數
②format(float_num,'0.2f')
③decimal
一、先說下這次的重點想說的decimal,可以精確的四舍五入保留兩位小數。
①可以傳給decimal整形或者字符型,不能傳浮點型,因為浮點型本身就是不精確的數
但是如果一定要是浮點型,可以以下:
正常情況下
二、round函數,大部分情況下可以四舍五入,但是遇到要保留位數后一位是5時,是不會進1位的
三、format和round類似
1、使用字符串格式化
大部分語言都可以使用字符串格式化的方法來實現保留兩位小數的效果,python也不例外:
a = 12.345
print("%.2f" % a) # %代表格式化輸出,.2代表小數點后保留兩位,f代表數據類型是浮點型
2、使用round內置函數
python內置了一個名為round的函數,這個函數可以用來對數據進行格式化。代碼如下:
a = 12.345
a1 = round(a, 2) #將a通過round函數處理后賦值給a1.傳入的2代表保留兩位小數
print(a1)
3、使用decimal模塊
類似于java,python也專門提供了一個decimal模塊用于精確運算,它也可以進行數據的格式化輸出。代碼如下:
from decimal import Decimal
a = 12.345
Decimal(a).quantize(Decimal("0.00")) # 使用默認的進位方式(同round)“0.00”表示保留小數點后兩位
以上就是常規的保留兩位小數的方法,接下來介紹兩種非常規的方法(使用字符串處理的方法,這種方法僅保留兩位小數,不做四舍五入)
4、使用序列切片
原理很簡單,只要找到小數點,然后進行切片即可。代碼如下:
a = 12.345
str(a).split('.')[0] + '.' + str(a).split('.')[1][:2]
#使用序列切片的方式,切出小數點前的數據,還有小數點后兩位的數據,然后進行拼裝
5、使用re模塊
類似于切片,不過這次使用正則匹配來定位小數點位置。
import re
a = 12.345
re.findall(r"\d{1.}?\.\d{2}", str(a))
#使用正則匹配,將符合規則(一個小數點前有很多位數字,小數點后面只有兩位數字的片段)字符串片段取出
方法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
分享文章:python取小數的函數 python怎么取小數
網頁地址:http://www.yijiale78.com/article24/dodsjje.html
成都網站建設公司_創新互聯,為您提供網站策劃、標簽優化、面包屑導航、自適應網站、網站內鏈、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯