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

控制Python浮點數(shù)輸出位數(shù)的操作方法

 更新時間:2022年04月16日 08:24:27   作者:DECHIN  
在python的輸出結果中,尤其是浮點數(shù)的輸出,當我們需要寫入文本文件時,最好是采用統(tǒng)一的輸出格式,這樣也能夠增強結果的可讀性,這篇文章主要介紹了控制Python浮點數(shù)輸出位數(shù)的方法,需要的朋友可以參考下

在python的輸出結果中,尤其是浮點數(shù)的輸出,當我們需要寫入文本文件時,最好是采用統(tǒng)一的輸出格式,這樣也能夠增強結果的可讀性。而對于浮點數(shù)輸出位數(shù)的控制,可以通過{:.4f}、%.4f來指定打印或者輸出時的字符串占據(jù)空間,也可以通過round函數(shù)來對輸出前的結果進行轉化。而如果是取有效數(shù)字,需要用到{:.4},這幾種方法沒有優(yōu)劣,只有看不同的場景,選取不同的精度控制方案。

技術背景

在Python的一些長效任務中,不可避免的需要向文本文件、二進制文件或者數(shù)據(jù)庫中寫入一些數(shù)據(jù),或者是在屏幕上輸出一些文本,此時如何控制輸出數(shù)據(jù)的長度是需要我們注意的一個問題。比如對于一個二進制文件,如果輸出的浮點數(shù)長度一直在發(fā)生變化,則寫入到文件之后,讀取的人按照比特位進行讀取就會讀到一堆錯誤的數(shù)據(jù)。因此,我們需要控制輸出位數(shù),尤其是浮點數(shù)要格外小心。

常規(guī)控制方法

一般情況下,我們可以通過round來設置輸出浮點數(shù)的有效數(shù)字,其原理是對于一個給定的浮點數(shù)直接取前n位的有效數(shù)字,后續(xù)的數(shù)字四舍五入。而%.4f{:.4f}這兩種格式化,是在輸出時取小數(shù)點后4位打印,跟先取有效數(shù)字再打印是不一樣的,后面會提到。先看下這幾個方式的輸出異同點:

In [1]: pi_10=31.415926

In [2]: print (round(pi_10,4))
31.4159

In [3]: print ('%.4f' % pi_10)
31.4159

In [4]: print ('{:.4f}'.format(pi_10))
31.4159

上面的例子是小數(shù)點前和小數(shù)點后都有多位數(shù)字,另外類似的可以看下小數(shù)點前只有0的數(shù)字的輸出結果:

In [5]: pi_10=0.31415926
In [6]: print (round(pi_10,4))
0.3142
In [7]: print ('{:.4f}'.format(pi_10))
0.3142
In [8]: print ('%.4f' % pi_10)
0.3142

在上面的兩個案例中,我們發(fā)現(xiàn)三者的輸出結果都是一樣的。但是前面提到了先取有效數(shù)字再輸出,跟先輸出再取有效數(shù)字的區(qū)別,可以通過下面的一個案例體現(xiàn)出來:

In [9]: pi_10=3.1415926E-08
In [10]: print (round(pi_10,4))
0.0
In [11]: print ('{:.4f}'.format(pi_10))
0.0000
In [12]: print ('%.4f' % pi_10)
0.0000

這里的輸入是一個小數(shù)點后有很多0的浮點數(shù),但是這里用的是科學計數(shù)法,也就是\(3.1415926*10^{-8}\),此時我們用這三種輸出方式,得到的結果全都是0,而且第一種方案更是直接小數(shù)點后都沒滿4位。這是因為在用round取有效數(shù)字時,發(fā)現(xiàn)小數(shù)點后的數(shù)字太多,把當前的浮點數(shù)直接當成了0.0而不是0.0000,而后面兩個方案的過程更像是在打印出來這個數(shù)字之后,再把超過有效位數(shù)的數(shù)字去掉,因此會保留小數(shù)點后的4個0。但是,即使如此,得到的結果也不是我們所想要的結果。因為這個數(shù)字雖然很小,但是可能只是由于單位問題,并不代表這個數(shù)字產生的影響就是0,因此直接用這種取小數(shù)點后有效數(shù)字的方法可能會出問題。

取有效數(shù)字

這里我們要介紹的取有效數(shù)字的方法,不再是去小數(shù)點后的有效數(shù)字,而是整體的有效數(shù)字。方法也很簡單,就是把上一個章節(jié)中的{:.4f}改成{:.4},同樣的可以通過這么幾個案例來理解控制有效數(shù)字的結果:

In [13]: pi_10=3.1415926E-08
In [14]: print ('{:.4}'.format(pi_10))
3.142e-08
In [15]: pi_10=0.31415926
In [16]: print ('{:.4}'.format(pi_10))
0.3142
In [17]: pi_10=31.415926
In [18]: print ('{:.4}'.format(pi_10))
31.42

我們發(fā)現(xiàn),輸出的結果會根據(jù)輸入的格式改變而改變,如果輸入的小數(shù)位0過多,輸出結果會被自動轉換成科學計數(shù)法。而不僅僅是針對浮點數(shù),{:.4}還可以作用在字符串中,效果如下:

In [19]: string='Hello World!'

In [20]: print ('{:.4}'.format(string))
Hell

總結概要

在python的輸出結果中,尤其是浮點數(shù)的輸出,當我們需要寫入文本文件時,最好是采用統(tǒng)一的輸出格式,這樣也能夠增強結果的可讀性。而對于浮點數(shù)輸出位數(shù)的控制,可以通過{:.4f}、%.4f來指定打印或者輸出時的字符串占據(jù)空間,也可以通過round函數(shù)來對輸出前的結果進行轉化。而如果是取有效數(shù)字,需要用到{:.4},這幾種方法沒有優(yōu)劣,只有看不同的場景,選取不同的精度控制方案。

版權聲明

本文首發(fā)鏈接為:https://www.cnblogs.com/dechinphy/p/fprint.html

作者ID:DechinPhy

更多原著文章請參考:https://www.cnblogs.com/dechinphy/

打賞專用鏈接:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

騰訊云專欄同步:https://cloud.tencent.com/developer/column/91958

到此這篇關于控制Python浮點數(shù)輸出位數(shù)的文章就介紹到這了,更多相關Python浮點數(shù)輸出位數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • PyExecJS無法安裝的問題解決

    PyExecJS無法安裝的問題解決

    我們需要在Python中執(zhí)行一些JavaScript代碼時,可能需要使用到execjs模塊,本文主要介紹了PyExecJS無法安裝的問題解決,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • Python的代理類實現(xiàn),控制訪問和修改屬性的權限你都了解嗎

    Python的代理類實現(xiàn),控制訪問和修改屬性的權限你都了解嗎

    這篇文章主要為大家詳細介紹了Python的代理類實現(xiàn),控制訪問和修改屬性的權限,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Python中經常使用的代碼片段

    Python中經常使用的代碼片段

    大家好,本篇文章主要講的是Python中經常使用的代碼片段,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python與C語言分別解決完全平方數(shù)問題

    Python與C語言分別解決完全平方數(shù)問題

    完全平方數(shù)指用一個整數(shù)乘以自己例如1*1.2*2.3*3等依次類推,若一個數(shù)能表示成某個整數(shù)的平方的形式,則稱這個數(shù)為完全平方數(shù)。完全平方數(shù)是非負數(shù),而一個完全平方數(shù)的項有倆個,讓我們用程序來練習一下
    2022-03-03
  • 使用PyCharm在Github上保存代碼并在服務器上運行方式

    使用PyCharm在Github上保存代碼并在服務器上運行方式

    這篇文章主要介紹了使用PyCharm在Github上保存代碼并在服務器上運行方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python基本語法經典教程

    Python基本語法經典教程

    這篇文章主要介紹了Python基本語法,較為詳細的分析了Python基本語法所涉及的流程控制語句,表達式,函數(shù),對象,類型,數(shù)學運算等概念與使用技巧,需要的朋友可以參考下
    2016-03-03
  • Python中json文件和jsonl文件的區(qū)別小結

    Python中json文件和jsonl文件的區(qū)別小結

    本文主要介紹了JSON和JSONL兩種文件格式的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • pytorch人工智能之torch.gather算子用法示例

    pytorch人工智能之torch.gather算子用法示例

    這篇文章主要介紹了pytorch人工智能之torch.gather算子用法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • 解決Pandas的DataFrame輸出截斷和省略的問題

    解決Pandas的DataFrame輸出截斷和省略的問題

    今天小編就為大家分享一篇解決Pandas的DataFrame輸出截斷和省略的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python使用pip安裝Matplotlib的方法詳解

    Python使用pip安裝Matplotlib的方法詳解

    在網上看見許多matplotlib的安裝教程都是比較復雜,需要配置許多環(huán)境,對于電腦基礎不好的人來說可是一件頭疼的事情,今天我介紹一個簡單的安裝方法,下面這篇文章主要給大家介紹了關于Python使用pip安裝Matplotlib的相關資料,需要的朋友可以參考下
    2022-07-07

最新評論

平顶山市| 咸宁市| 松桃| 车险| 廊坊市| 南雄市| 铜川市| 剑川县| 江西省| 淮南市| 兴文县| 玉田县| 卢湾区| 建阳市| 兴文县| 凭祥市| 阿克陶县| 习水县| 永丰县| 民权县| 镶黄旗| 明水县| 界首市| 曲沃县| 宁陵县| 余姚市| 天峨县| 泰安市| 富裕县| 乌什县| 资源县| 磐石市| 建昌县| 琼海市| 靖江市| 东兰县| 新巴尔虎右旗| 乌拉特后旗| 伊春市| 台江县| 开化县|