女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python的四舍五入如何去實(shí)現(xiàn)呢

夏日余暉 ? 來(lái)源:Harmony技術(shù)專(zhuān)家 ? 作者:Harmony技術(shù)專(zhuān)家 ? 2022-10-12 11:19 ? 次閱讀

Python 的四舍五入,還真有點(diǎn)小麻煩。

1、使用 round

大多數(shù)情況下,我們會(huì)使用 round 來(lái)保留小數(shù),但這并不符合我們?cè)跀?shù)學(xué)知識(shí)里的規(guī)則。

round(number[,ndigits])

round() 把 number(通常是浮點(diǎn)數(shù)) 按如下規(guī)則(Python3)進(jìn)行四舍五入的:

先說(shuō)下 ndigits 不為 0 的情況:

如果保留位數(shù)的后一位小于等于 4,則舍去,如 round(5.214,2) = 5.21

如果保留位數(shù)的后一位等于 5,且該位數(shù)后面沒(méi)有數(shù)字,則不進(jìn)位,如 round(5.215,2) = 5.21

如果保留位數(shù)的最后一位等于 5,且該位數(shù)后面有數(shù)字,則進(jìn)位,如 round(5.2151,2) = 5.22

如果保留位數(shù)的最后一位大于等于 6 ,則進(jìn)位。如 round(5.216,2) = 5.22

pYYBAGNGMbWACbu7AABQ_srL7p0219.png

但是上述規(guī)則 2 也有例外,比如:

poYBAGNGMcaAAtltAAAsBFtEigA081.png

究其原因,浮點(diǎn)數(shù)用用二進(jìn)制表示的時(shí)候只能表示近似值,雖然我們看到的是 0.645,實(shí)際上 Python 存儲(chǔ)的是 0.645000000000000017763568394002504646778106689453125,Python 是按照 IEEE754 標(biāo)準(zhǔn)存儲(chǔ)浮點(diǎn)數(shù)的。

再說(shuō)下 ndigits 為 0 或 None 的情況:

如果保留位數(shù)的后一位小于等于 4,則舍去,如 round(1.4) = 1

如果保留位數(shù)的后一位等于 5,且后面沒(méi)有數(shù)字,則取最近的偶數(shù),如 round(1.5)=2,round(2.5)=2

如果保留位數(shù)的后一位等于 5,且后面有數(shù)字,則近位,如 round(2.51)=3

如果保留位數(shù)的最后一位大于等于 6 ,則進(jìn)位。如 round(1.6) = 2

pYYBAGNGMd-AK2V8AABIAXzTvvY705.png

請(qǐng)注意, f 字符串的保留結(jié)果與 round 一致:

pYYBAGNGMfGAWET8AAAskhIuCfA979.png

那么如何獲得和數(shù)學(xué)上的四舍五入規(guī)則一致的方法呢?請(qǐng)使用方法二:

2、使用 Decimal

這種方法有個(gè)前提,那就是必須先把小數(shù)轉(zhuǎn)換成字符串,這樣才可以精確的表示浮點(diǎn)數(shù)。

pYYBAGNGMgOAYrecAACsIjyFzsQ078.png

以上程序的輸出如下:

poYBAGNGMhWAcDI6AAAqS_zOmzo317.png

完全符合我們數(shù)學(xué)上的四舍五入。

最后的話(huà)

浮點(diǎn)數(shù)在二進(jìn)制的表示方法中只能表示近似值。了解了浮點(diǎn)數(shù)表示法之后,再看四舍五入,就不會(huì)覺(jué)得那么奇怪了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4825

    瀏覽量

    86175
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    LabVIEW如何實(shí)現(xiàn)四舍五入

    LabVIEW默認(rèn)的實(shí)現(xiàn)的是科學(xué)四舍五入,而不是真正的、傳統(tǒng)的四舍五入,怎樣把2.5四舍五入為3?LabVIEW算出居然是2,并且試了好幾種方法都沒(méi)有辦法得到3,真是太無(wú)語(yǔ)了。
    發(fā)表于 01-25 00:16

    怎么讓1位小數(shù)四舍五入

    就是保留一位小數(shù),多余的四舍五入。不要前面板設(shè)置的那種,labview可以做得到嗎?大神幫幫忙~!
    發(fā)表于 11-29 15:21

    在stm32中做float數(shù)的乘法運(yùn)算,結(jié)果小數(shù)部分總是被四舍五入

    我在stm32中做float數(shù)的乘法運(yùn)算,結(jié)果小數(shù)部分總是被四舍五入了,感覺(jué)好奇怪哦,代碼如下 float xreal[1024]={0}; float yimag[1024]={0}; float prodreal,prodimag,temp; for(i=0;i
    發(fā)表于 03-14 06:35

    請(qǐng)問(wèn)如何將匯編寫(xiě)的函數(shù)變成內(nèi)聯(lián)函數(shù)?

    比如TI提供的四舍五入函數(shù)rnd_SP_RS.asm,怎么做成內(nèi)聯(lián)函數(shù)?這樣比較省時(shí)間。謝謝!
    發(fā)表于 05-07 09:32

    labview 45

    labview沒(méi)有現(xiàn)存的四舍五入的程序,附件是保留小數(shù)點(diǎn)后兩位,大家可以參考著改成可以設(shè)置小數(shù)位的VI。
    發(fā)表于 01-14 09:51

    如何在iMX8M mini上捕捉奇怪的分辨率?

    我正在為 iMX8M 迷你模塊開(kāi)發(fā)傳感器驅(qū)動(dòng)程序。此傳感器允許具有奇數(shù)高度值的分辨率,例如寬度=240 x 高度=135。我注意到每次輸入奇數(shù)高度時(shí),該值都會(huì)四舍五入到下一個(gè)偶數(shù),在本例中,從 135 四舍五入到 136。這是一些特定于平臺(tái)的限制嗎?有什么理由不支持奇怪的
    發(fā)表于 03-24 07:25

    LabView設(shè)計(jì)程序,利用“六入成雙”的方法實(shí)現(xiàn)數(shù)字的舍入功能。

    請(qǐng)教各位大佬,目前只能實(shí)現(xiàn)四舍五入” 原理:“465湊偶”,這里“”是指≤4 時(shí)舍去,\"六\"是指≥6時(shí)進(jìn)上,\"
    發(fā)表于 05-13 10:56

    單片機(jī)取下整怎么四舍五入

    單片機(jī)取下整怎么四舍五入
    發(fā)表于 09-26 08:17

    Xilinx平方根IP核的整形平方根算法

    Round Pos Inf:四舍五入,+0.5之后四舍五入,在負(fù)數(shù)時(shí)和第三種有區(qū)別。
    發(fā)表于 07-12 08:38 ?2824次閱讀
    Xilinx平方根IP核的整形平方根算法

    西門(mén)子PLC中四舍五入和截取函數(shù)顯示

    四舍五入和截取函數(shù)也屬于數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)。下表顯示了這些函數(shù)的名稱(chēng)、數(shù)據(jù)類(lèi)型(輸入?yún)?shù)和函數(shù)值)和任務(wù)。 “取整”指令用于將輸入 IN 的值取整為最接近的整數(shù)。該指令將輸入 IN 的值解釋為浮點(diǎn)數(shù)
    的頭像 發(fā)表于 08-16 16:08 ?7087次閱讀

    四舍五入的數(shù)字、典型規(guī)格和模擬的危險(xiǎn)

    發(fā)表于 11-17 12:41 ?0次下載
    <b class='flag-5'>四舍五入</b>的數(shù)字、典型規(guī)格和模擬的危險(xiǎn)

    四舍五入數(shù)字、典型規(guī)格和模擬的危險(xiǎn)

    本教程強(qiáng)調(diào)了謹(jǐn)慎設(shè)計(jì)電路的重要性,并仔細(xì)思考設(shè)計(jì)的各個(gè)方面。很多時(shí)候,工程師被數(shù)據(jù)手冊(cè)的規(guī)格引入歧途,要么是因?yàn)樗鼈兪?b class='flag-5'>四舍五入的,要么是因?yàn)楣こ處熤挥涀×说湫鸵?guī)格。無(wú)論出現(xiàn)哪個(gè)陷阱,設(shè)計(jì)都可能產(chǎn)生災(zāi)難性的結(jié)果。本文檔解釋了為什么依賴(lài)四舍五入的數(shù)字和典型規(guī)格,以及支持仿真而
    的頭像 發(fā)表于 02-10 10:42 ?1119次閱讀
    <b class='flag-5'>四舍五入</b>數(shù)字、典型規(guī)格和模擬的危險(xiǎn)

    ROUND函數(shù)是什么意思?

    ROUND函數(shù)是Excel中的一個(gè)基本函數(shù),作用按指定的位數(shù)對(duì)數(shù)值進(jìn)行四舍五入,語(yǔ)法是ROUND(number,num_digits)。
    的頭像 發(fā)表于 05-25 15:22 ?2.9w次閱讀
    ROUND函數(shù)是什么意思?

    FPGA加法截位處理方法介紹

    本模塊實(shí)現(xiàn)輸入與輸出位寬相同數(shù)據(jù)加法,并對(duì)結(jié)果進(jìn)行四舍五入截位,對(duì)標(biāo)matlab round函數(shù)。
    的頭像 發(fā)表于 04-18 16:53 ?1086次閱讀

    接地探針如何計(jì)算

    安培數(shù)計(jì)算:對(duì)于每1A的電流(四舍五入到下一個(gè)最高整數(shù)),需要一個(gè)探針。
    的頭像 發(fā)表于 04-29 09:39 ?997次閱讀