最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中小數(shù)點后取2位(四舍五入)及取2位(四舍五不入)的方法

 更新時間:2023年08月31日 10:05:38   作者:hello-alien  
這篇文章主要給大家介紹了python中小數(shù)點后取2位(四舍五入)及取2位(四舍五不入)的方法,在Python中取兩位小數(shù)的方法其實非常簡單,需要的朋友可以參考下

一.小數(shù)點后取2位(四舍五入)的方法

方法一:round()函數(shù)

1.首先不推薦使用這個函數(shù)、python2和python3對應(yīng)的效果還不太一樣,使用的時候慎重!

2.也感謝評論區(qū)網(wǎng)友的提示,有人說具體用法是**四舍六入五成雙**。但是發(fā)現(xiàn)也不太對,還是有坑的,各位看官請看?

3.歡迎各位來補充?

四舍六入五成雙, 四舍六入五湊偶的意思, 根據(jù)百度詞條的解釋如下:

  • (1)當(dāng)精確位后面一位的數(shù)字是1-4的時候,舍去
  • (2)當(dāng)精確位后面一位的數(shù)字是6-9的時候,進1位
  • (3)當(dāng)精確位后面一位的數(shù)字是5的,此時需要看這個5后面是否還有值。如果5后面有值(0忽略),則直接進位;
  • (4)如果5后面沒值或值為0,則需要判斷5前面的值是偶數(shù)還是奇數(shù)。
  • (5)如果5前面是偶數(shù),不進位;如果是奇數(shù),進位。
  • 為了方便大家的理解,各種情況都測試一下。默認都是按照:小數(shù)點后2位有效數(shù)字取值
  • 小數(shù)點第二位就是精確位,小數(shù)點后第三位就是我們重點關(guān)注的位數(shù)
# (1)、(2)規(guī)則
a = 1.45321
b = 2.45678
print(round(a, 2))
print(round(b, 2))

# 打印內(nèi)容
1.45
2.46

# (3)規(guī)則
a = 1.12500002
b = 2.15500002
c = 2.15500000
print(round(a, 2))
print(round(b, 2))
print(round(c, 2))

# 打印內(nèi)容
1.13
2.16
2.15

小數(shù)點后第三位是我們重點關(guān)注的,而第三位后面還有值,那直接進位。上面案例中2.155后面的幾個0,都忽略。

# (4)、(5)規(guī)則
print(round(1.205, 2))
print(round(1.215, 2))
print(round(1.225, 2))
print(round(1.235, 2))
print(round(1.245, 2))
print(round(1.255, 2))
print(round(1.265, 2))
print(round(1.275, 2))
print(round(1.285, 2))
print(round(1.295, 2))

# 打印內(nèi)容
1.21    # 1.205---進位
1.22    # 1.215---進位
1.23    # 1.225---進位
1.24    # 1.235---進位
1.25    # 1.245---進位
1.25    # 1.255---未進位
1.26    # 1.265---未進位
1.27    # 1.275---未進位
1.28    # 1.285---未進位
1.29    # 1.295---未進位

通過以上打印結(jié)果發(fā)現(xiàn), (4)、(5)規(guī)則根本就不適用上述情況??偨Y(jié)規(guī)律如下:

如果精確位后面的一位是5,且5后面沒其他數(shù)值,此時精確位如果是0—4,則進位(5種情況)。如果是5–9則不進位(5種情況)。
我的理解是,不同語言、不同函數(shù)的處理都是細微的差別。但總歸把進位和不進位的概率,都是平均分布的。

最終的規(guī)律總結(jié)如下:

  • (1)當(dāng)精確位后面一位的數(shù)字是1-4的時候,舍去
  • (2)當(dāng)精確位后面一位的數(shù)字是6-9的時候,進1位
  • (3)當(dāng)精確位后面一位的數(shù)字是5的,此時需要看這個5后面是否還有值。如果5后面有值(0忽略),則直接進位;
  • (4)如果5后面沒值或值為0,則需要判斷精確位的區(qū)間,如果是0—4,則進位。如果是5–9,則不進位。

各位看官,不知道我解釋的夠清楚了嗎?如果感覺還行,幫忙點個贊吧?。?!

方法二:’%.2f’ %f 方法

??f = 1.23456
print('%.4f' % f)
print('%.3f' % f)
print('%.2f' % f)

結(jié)果:

1.2346
1.235
1.23

  • (1)原本以為:這個方法是最常規(guī)的方法,方便實用,居家旅行必備!
  • (2)但是…
f = 0.625
print('%.2f' % f)
# 結(jié)果:0.62

具體是否進位,有個概率問題,感興趣的朋友可以看看評論里面的信息。

方法三:Decimal()函數(shù)

from decimal import Decimal
aa = Decimal('5.026').quantize(Decimal('0.00'))
bb = Decimal('3.555').quantize(Decimal('0.00'))
cc = Decimal('3.545').quantize(Decimal('0.00'))
print(aa)
print(bb)
print(cc)

結(jié)果:

5.03
3.56
3.54

decimal這個模塊在很少用,如上圖中,3.555結(jié)果為3.56,而3.545結(jié)果變?yōu)?.54,一個5進位了,一個是5沒進位,具體原因不詳。
所以不推薦使用這個方法!!!

二.小數(shù)點后取2位(四舍五不入)的方法

通過計算的途徑,很難將最終結(jié)果截取2位,我們直接想到的就是如果是字符串,直接截取就可以了。

例如

num = '1234567'		#字符串num
print(num[:3])
結(jié)果:
123

如果是123.456取2位小數(shù)(截取2位小數(shù)),值需要把小數(shù)點右邊的當(dāng)做字符串截取即可

partition()函數(shù)(將字符串根據(jù)字符串切割):

http://www.runoob.com/python/att-string-partition.html

num = '123.4567'
num_str = num.partition(".")
print(num_str)
結(jié)果:
('123', '.', '4567')   # 三個元素的元祖

拼接字符串:format()函數(shù)的使用
http://www.fzitv.net/python/2968515r5.htm

方法一:

def get_two_float(f_str, n):
    a, b, c = f_str.partition('.')
    c = c[:n]
    return ".".join([a, c])
num = "123.4567"		#(1)隱患一,傳入函數(shù)的是字符串
print(get_two_float(num, 2))
num2 = '123.4'			# (2)隱患二,如果傳入的字符串小數(shù)位小于最終取的位數(shù)
print(get_two_float(num2, 2))

結(jié)果:

123.45
123.4

最終版本:

def get_two_float(f_str, n):
    f_str = str(f_str)      # f_str = '{}'.format(f_str) 也可以轉(zhuǎn)換為字符串
    a, b, c = f_str.partition('.')
    c = (c+"0"*n)[:n]       # 如論傳入的函數(shù)有幾位小數(shù),在字符串后面都添加n為小數(shù)0
    return ".".join([a, c])
num = 123.4567
print(get_two_float(num, 2))
num2 = 123.4
print(get_two_float(num2, 2))

結(jié)果:

123.45
123.40

總結(jié)

到此這篇關(guān)于python中小數(shù)點后取2位(四舍五入)及取2位(四舍五不入)的文章就介紹到這了,更多相關(guān)python小數(shù)點后取2位內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 借助Paramiko通過Python實現(xiàn)linux遠程登陸及sftp的操作

    借助Paramiko通過Python實現(xiàn)linux遠程登陸及sftp的操作

    這篇文章主要介紹了借助Paramiko通過Python實現(xiàn)linux遠程登陸及sftp,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python爬取你好李煥英豆瓣短評生成詞云的示例代碼

    Python爬取你好李煥英豆瓣短評生成詞云的示例代碼

    這篇文章主要介紹了Python爬取你好李煥英豆瓣短評生成詞云,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • 2022最新Python日志庫logging總結(jié)

    2022最新Python日志庫logging總結(jié)

    這篇文章主要介紹了2022最新Python日志庫logging總結(jié),Python logging 庫設(shè)計的真的非常靈活,如果有特殊的需要還可以在這個基礎(chǔ)的 logging 庫上進行改進,創(chuàng)建新的 Handler 類解決實際開發(fā)中的問題,需要的朋友可以參考下
    2022-05-05
  • python安裝scipy的步驟解析

    python安裝scipy的步驟解析

    這篇文章主要介紹了python安裝scipy的步驟解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Python多進程編程技術(shù)實例分析

    Python多進程編程技術(shù)實例分析

    這篇文章主要介紹了Python多進程編程技術(shù),包括了線程、隊列、同步等概念及相關(guān)的技巧總結(jié),需要的朋友可以參考下
    2014-09-09
  • 用python的哈希函數(shù)對密碼加密

    用python的哈希函數(shù)對密碼加密

    大家好,本篇文章主要講的是用python的哈希函數(shù)對密碼加密,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Python實現(xiàn)農(nóng)歷轉(zhuǎn)換教程詳解

    Python實現(xiàn)農(nóng)歷轉(zhuǎn)換教程詳解

    農(nóng)歷,是我國現(xiàn)行的傳統(tǒng)歷法。它是根據(jù)月相的變化周期,每一次月相朔望變化為一個月,參考太陽回歸年為一年的長度,并加入二十四節(jié)氣與設(shè)置閏月以使平均歷年與回歸年相適應(yīng)。本文將用Python實現(xiàn)農(nóng)歷轉(zhuǎn)換,需要的可以參考一下
    2022-03-03
  • 跟老齊學(xué)Python之做一個小游戲

    跟老齊學(xué)Python之做一個小游戲

    經(jīng)過一段時間學(xué)習(xí),看官已經(jīng)不是純粹小白了,已經(jīng)屬于python初級者了?,F(xiàn)在就是開始做那個游戲的時候了。說是做游戲,不過還是先來點基礎(chǔ)知識吧
    2014-09-09
  • 快速一鍵生成Python爬蟲請求頭

    快速一鍵生成Python爬蟲請求頭

    這篇文章主要介紹了如何快速一鍵生成Python爬蟲請求頭,幫助大家更好的理解和學(xué)習(xí)使用python爬蟲,感興趣的朋友可以了解下
    2021-03-03
  • PyQt中使用QProcess運行一個進程的示例代碼

    PyQt中使用QProcess運行一個進程的示例代碼

    這篇文章主要介紹了在PyQt中使用QProcess運行一個進程,本例中通過按下按鈕,啟動了windows系統(tǒng)自帶的記事本程序,即notepad.exe, 因為它在windows的系統(tǒng)目錄下,該目錄已經(jīng)加在了系統(tǒng)的PATH環(huán)境變量中,所以不需要特別指定路徑,需要的朋友可以參考下
    2022-12-12

最新評論

蒙阴县| 曲水县| 沙坪坝区| 循化| 五莲县| 白河县| 清流县| 威海市| 台州市| 黔西| 枣庄市| 雅安市| 汝南县| 左云县| 金乡县| 甘孜县| 增城市| 南京市| 西和县| 黔西县| 偃师市| 连云港市| 常德市| 宁南县| 永嘉县| 玛沁县| 宜昌市| 莱阳市| 扎赉特旗| 石家庄市| 嘉义市| 集安市| 云浮市| 吴江市| 巴中市| 襄汾县| 新邵县| 察隅县| 霍州市| 九江县| 龙胜|