1. 程式人生 > >Python 小數點精度控制

Python 小數點精度控制

基礎

浮點數是用機器上浮點數的本機雙精度(64 bit)表示的。提供大約17位的精度和範圍從-308到308的指數。和C語言裡面的double型別相同。Python不支援32bit的單精度浮點數。如果程式需要精確控制區間和數字精度,可以考慮使用numpy擴充套件庫。

Python 3.X對於浮點數預設的是提供17位數字的精度。

關於單精度和雙精度的通俗解釋:

單精度型和雙精度型,其型別說明符為float 單精度說明符,double 雙精度說明符。在Turbo C中單精度型佔4個位元組(32位)記憶體空間,其數值範圍為3.4E-38~3.4E+38,只能提供七位有效數字。雙精度型佔8 個位元組(64位)記憶體空間,其數值範圍為1.7E-308~1.7E+308,可提供16位有效數字。

要求較小的精度

將精度高的浮點數轉換成精度低的浮點數。

1.round()內建方法

這個是使用最多的,剛看了round()的使用解釋,也不是很容易懂。round()不是簡單的四捨五入的處理方式。

For the built-in types supporting round(), values are rounded to the closest multiple of 10 to the power minus ndigits; if two multiples are equally close, rounding is done toward the even choice (so, for example, both round(0.5) and round(-0.5) are 0, and round(1.5) is 2).

1 2 3 4 5 6 7 8 >>> round(2.5) 2 >>> round(1.5) 2 >>> round(2.675) 3 >>> round(2.6752) 2.67

 round()如果只有一個數作為引數,不指定位數的時候,返回的是一個整數,而且是最靠近的整數(這點上類似四捨五入)。但是當出現.5的時候,兩邊的距離都一樣,round()取靠近的偶數,這就是為什麼round(2.5) = 2。當指定取捨的小數點位數的時候,一般情況也是使用四捨五入的規則,但是碰到.5的這樣情況,如果要取捨的位數前的小樹是奇數,則直接捨棄,如果偶數這向上取捨。看下面的示例:

1 2 3 4 5 6 7 8 9 10 >>> round(2.6352) 2.63 >>> round(2.6452) 2.65 >>> round(2.6552) 2.65 >>> round(2.6652) 2.67 >>> round(2.675

相關推薦

python----小數點精度控制round()

python版本也會影響結果,python2把x四捨五入為遠離0的最近倍數,如round(0.5)=1, round(-0.5)=-1;   python3則會把x四捨五入為最近的偶數倍數,如round(0.5)=0, round(1.5)=2.0, round(2.5)=

Python 小數點精度控制

基礎 浮點數是用機器上浮點數的本機雙精度(64 bit)表示的。提供大約17位的精度和範圍從-308到308的指數。和C語言裡面的double型別相同。Python不支援32bit的單精度浮點數。如果程式需要精確控制區間和數字精度,可以考慮使用numpy擴充套件

【我要學python】愣頭青之小數點精度控制

寫在最前面:今天遇到了棘手的問題,看了兩遍才看懂,本文屬於轉載+修改,原出處是Herbert's Blog 基礎 浮點數是用機器上浮點數的本機雙精度(64 bit)表示的。提供大約17位的精度和範圍從-308到308的指數。和C語言裡面的double型別相同。Python不支援32bit的單精度浮點數。如

有關Python裡面小數點精度控制

要求較小的精度 round()內建方法 這個是使用最多的,剛看了round()的使用解釋,也不是很容易懂。round()不是簡單的四捨五入的處理方式。 For the built-in types supporting round(), values are rounde

Python-11:Python語法基礎-控制

for 重復 程序代碼 次循環 python 停止 應該 for語句 執行 1、Python中的三種控制流   程序中代碼的執行是有順序的,有的代碼會從上到下按順序執行,有的程序代碼會跳轉著執行,有的程序代碼會選擇不同的分支執行,有的代碼會循環著執行,什麽樣的程序應該選擇分

Python】05、python程序結構控制語句

python一、程序結構程序結構:語句和表達式按照什麽樣的順序執行所有語言無非就三種程序結構: 順序:默認結構 語句從上到下依次一行一行的執行, 分支:選擇一個分支執行,永遠最多只執行一個分支 循環:二、分支結構語句1、Python的比較操作

python腳本來控制SecureCRT

python對於不熟悉VB語法的童鞋們,不妨使用python來操作CRT命令行。如下代碼:#$language = "Python" #$interface = "1.0" def Main(): tab = crt.GetScriptTab() if tab.Session.Connec

三、python的流程控制

res lua odin else pytho self china val exactly 三、python的流程控制 1.順序結構 python和shell,java等語言都有一定的執行順序即順序結構。 python語言在解釋器中的執行順序是:從上到下依次執行,從左到右

[Python 3系列]控制

控制流 編程的真正力量不僅僅在於運行一條條的指令,就像任務清單那樣。根據表達式求值的結果,程序可以決定下一步的操作。“控制流語句”決定了在什麽條件下執行哪些python語句。布爾值 雖然整型、浮點型和字符串數據類型有無數種可能的值,但“布爾”數據類型只有兩種值:True和False。在作為pyth

python基礎---流程控制

python循環流程控制1、if判斷a.單分支if 條件:滿足條件後要執行的代碼age_of_oldboy=50if age_of_oldboy > 40: print(‘too old,time to end‘) 輸出:too old,time to end b.雙分支if 條件: 滿足

python 腳本控制telnet登錄交換機

python ssh telnet 目的:學習用python腳本登錄交換機並執行相關操作環境:windows 7 Python 3.5.3最初原因是因為工作需要在交換機上查詢IP地址的來源端口,不停的跳轉查看很麻煩,於是決定寫腳本,這裏只寫關於用Python登錄和之後的可用方法。telnet是內

Python】【控制流程】【三】【協程】

trace 執行 this tool 引用 給他 異常 rmp 解釋 """# 16.2 用過協程的生成器的基本行為#例子16-1 可能是協程最簡單的使用演示def simple_coroutine(): print(‘-> coroiutine started

Python的流程控制 - for序列

設置 語法 打印 使用 python enc python3.6 list() abc 循環是一個結構,導致程序要重復一定的次數。條件循環也是如此,當條件變為假,循環結束。 for循環可以用在序列裏,可以循環遍歷,其語法如下: for iterating_var in se

Python的流程控制 - for字典

bcd 乘法口訣 打印 range oca abcd 變量 乘法 for 循環 首先生成一個字典: In [17]: dic={} In [18]: dic.fromkeys(‘abcde‘,100) Out[18]: {‘a‘: 100, ‘b‘: 100, ‘c‘:

Python的流程控制 - if條件

方法 rec local 屬於 轉換成 輸出結果 score ring 裏的 流程控制主要分為判斷和循環,這裏我們先看if條件判斷。 if語句 if expression:statements(s) 這裏要註意的是,Python使用縮進作為語句分組的方法,所以我們建議使用4

Python的流程控制 - while

som oca als cdh input while hello lee expr while與for相比 for循環用在有次數的循環上。 while循環用在有條件的控制上,和 if 比較相似。 while循環,直到表達式變為假(或者有一個break),才退出while循

Python基礎—流程控制

color 雙分支 html 說明 偶數 sta 遍歷 之前 usr 一、Python流程控制   計算機程序在解決某個具體問題時,包括三種情形,即順序執行所有的語句、選擇執行部分的語句和循環執行部分語句,這正好對應著程序設計中的三種程序執行結構流程:順序結構、選擇結構和循

python --003--流程控制while,for

流程控制 while for 流程控制順序流程:每一行代碼都會執行,並且只會執行一次···if -- else 結構語句:1、if 布爾表達式:代碼對齊,tab與空格不能夠同時出現 2、if 布爾表達式:代碼else: money = input (‘please input your money:

python學習--流程控制和循環控制(while for if)

wan tar === 2個 clas 範圍 案例 有一個 生成 一、流程控制語句(if) 1. if 判斷 ‘‘‘ 流程控制語句 @date:2018-07-31 if... if...else... if...elif...elif.. else....

Python】【控制流程】【生成器 | 協程 | 期物 | 任務】對比與聯系

創建 都沒有 all 第一部分 需求 性能問題 大致 set 我們 Python 的 asyncio 類似於 C++ 的 Boost.Asio。 所謂「異步 IO」,就是你發起一個 IO 操作,卻不用等它結束,你可以繼續做其他事情,當它結束時,你會得到通知。 Asyncio