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

python 正確保留多位小數(shù)的實例

 更新時間:2018年07月16日 09:16:00   作者:walkerlujun  
今天小編就為大家分享一篇python 正確保留多位小數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

python自帶的float函數(shù)在保留兩位小數(shù)的時候不夠準確容易出現(xiàn)誤差,而(‘%.2f' % a)的方式是將數(shù)字轉(zhuǎn)成了字符串類型,無法進行數(shù)字運算,所以這里我們將封裝一個方法來實現(xiàn)正確的保留多位小數(shù)。

from functools import reduce
def str2float(strf):
def char2num(s):
return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
def char2int(x, y):
return 10 * x + y
tstr = strf.split('.')
hightre = reduce(char2int, map(char2num, tstr[0]))
if len(tstr)>1:
lowre = reduce(char2int, map(char2num, tstr[1]))*(0.1**len(tstr[1]))
else:
lowre = 0
return hightre + lowre

從上述代碼我們引用了reduce函數(shù)(python2.7不需要導入)配合map內(nèi)置函數(shù)來實現(xiàn);

char2num函數(shù)主要是將字符串類似轉(zhuǎn)為對應的數(shù)字類型;

char2int函數(shù)實現(xiàn)左側(cè)的數(shù)字乘以10后加上右側(cè)數(shù)字,比如char2int(1,2)-> 12;

tstr是將高位數(shù)和低位數(shù)通過”.”隔開;

hightre是處理高位數(shù),即非小數(shù)位部分,tstr[0]將左側(cè)的數(shù)字通過char2num函數(shù)轉(zhuǎn)成數(shù)字類型,作為單個單個的數(shù)字,如(”123.456”)將小數(shù)點左側(cè)的部分轉(zhuǎn)為(1,2,3),通過char2int函數(shù)轉(zhuǎn)為(((110+2)10)+3) -> 123;

lowre是處理低位數(shù),即小數(shù)位部分,tstr[1]將右側(cè)的數(shù)字通過char2num函數(shù)轉(zhuǎn)成數(shù)字類型,作為單個單個的數(shù)字,如(”123.456”)將小數(shù)點右側(cè)的部分轉(zhuǎn)為(4,5,6),通過char2int函數(shù)轉(zhuǎn)為(((410+5)10)+6) -> 456,由于是小數(shù)位所以要乘以0.1的N次方(N=小數(shù)位的位數(shù)),(456(0.10.1*0.1)) -> 0.456;

最后返回高位數(shù)拼接低位數(shù),即123.456的浮點類型;

PS:經(jīng)過試驗發(fā)現(xiàn),使用該方法最多可支持12位數(shù)字,即高位數(shù)和低位數(shù)總位數(shù)在12位以內(nèi)可以正常顯示;

以上這篇python 正確保留多位小數(shù)的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python面向?qū)ο缶幊讨畢^(qū)間的插入詳解

    Python面向?qū)ο缶幊讨畢^(qū)間的插入詳解

    這篇文章主要為大家詳細介紹了Python面向?qū)ο缶幊虒嵗坛讨械膮^(qū)間的插入,文中的示例代碼講解詳細,對我們學習Python有一定幫助,需要的可以參考一下
    2022-08-08
  • Python人工智能語音合成實現(xiàn)案例詳解

    Python人工智能語音合成實現(xiàn)案例詳解

    這篇文章主要為大家介紹了Python人工智能語音合成實現(xiàn)案例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Python中的Numpy矩陣操作

    Python中的Numpy矩陣操作

    這篇文章主要介紹了Python中的Numpy矩陣操作,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Python scrapy爬取小說代碼案例詳解

    Python scrapy爬取小說代碼案例詳解

    這篇文章主要介紹了Python scrapy爬取小說代碼案例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • python 獲取剪切板內(nèi)容的兩種方法

    python 獲取剪切板內(nèi)容的兩種方法

    這篇文章主要介紹了python 獲取剪切板內(nèi)容的兩種方法,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-11-11
  • Python?Playwright的使用詳解

    Python?Playwright的使用詳解

    本篇博客為大家介紹一款新的自動化測試工具,效果類似?selenium,但是這個模塊年輕。模塊名稱為?playwright-python,微軟開源的,是針對?Python?語言的純自動化工具,感興趣的可以了解一下
    2022-10-10
  • Python使用while循環(huán)花式打印乘法表

    Python使用while循環(huán)花式打印乘法表

    今天小編就為大家分享一篇關于Python使用while循環(huán)花式打印乘法表,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • python?keras構建和訓練模型簡便性初探

    python?keras構建和訓練模型簡便性初探

    這篇文章主要介紹了python?keras構建和訓練模型簡便性初探,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-02-02
  • Python數(shù)據(jù)處理的26個Pandas實用技巧總結(jié)

    Python數(shù)據(jù)處理的26個Pandas實用技巧總結(jié)

    這篇文章主要給大家分享一些pandas的實用技巧,共計26個,這些技巧在你做數(shù)據(jù)處理中必不可少,感興趣的小伙伴可以跟隨小編學習一下
    2022-02-02
  • python mysql自增字段AUTO_INCREMENT值的修改方式

    python mysql自增字段AUTO_INCREMENT值的修改方式

    這篇文章主要介紹了python mysql自增字段AUTO_INCREMENT值的修改方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05

最新評論

本溪| 平阴县| 翁牛特旗| 称多县| 金门县| 新邵县| 射洪县| 沾益县| 仁寿县| 万州区| 河源市| 韩城市| 镇远县| 平顶山市| 卢氏县| 宜君县| 奈曼旗| 玛纳斯县| 庆元县| 崇仁县| 淳安县| 山东| 安龙县| 连城县| 山阴县| 镇康县| 浮梁县| 五大连池市| 桦甸市| 江达县| 杭州市| 称多县| 新乡县| 阳城县| 望城县| 元氏县| 建始县| 龙井市| 亚东县| 沁源县| 吉水县|