Python中的數字運算及相關轉換

2021-07-13 11:18:34 字數 3276 閱讀 5841

1. 取整:

(1) int(): 型別工廠函式。

對於浮點數只擷取整數部分,丟棄小數部分

int(3.1)   返回:3

int(3.5)  返回:3

int(3.923)  返回:3

int(-12.34)  返回:-12

數字字串轉換為整數:

int('23')     返回:23     # 預設base=10 (valid bases are 0 and 2-36) 

int('23', base=8)  返回:19   (8進製)

int('23', base=16)   返回:35

int('a', base=16),  int('0a', base=16), int('0x0a', base=16)   都返回:10

int('0b100', base=2)   返回:4

無法轉換的情況:

int('-123.45')    錯誤:無法轉換

int('34.45')   錯誤:無法轉換

int('23a')    錯誤:無法轉換

不同進製數的表示方法:

八進位制:0o177, 0o177  (十進位制127)   python3.x表示方法,python2.x中表示為: 0177

十六進製制:0x9ff,0x9ff

二進位制:0b101010,  0b101010  

將整數轉換為不同進製的字串:

hex(i):將給定的整數轉換為十六進製制表示的字串

hex(100)    返回:'0x64'

hex(0xaf)    返回:'0xaf'

oct(i):將給定的整數轉換為八進位制表示的字串

oct(100)     返回:'0o144'

oct(0o100)    返回: '0o100'

bin(i):將給定的整數轉換為二進位制表示的字串

bin(10)     返回:'0b1010'

bin(0b10)   返回:'0b10'

使用str()函式將數字轉換為字串:

str(100)   返回:'100'

str(-100)   返回:'-100'

str(12.23)   返回:'12.23'

str(-34.23)  返回:'-34.23'

str(0x123)   返回:'291'

str(2.0)    返回:'2.0'

str(2.00)    返回:'2.0'

str(float(2))   返回:'2.0'

str(float(-2))   返回:'-2.0'

str(float('3.24'))  返回:'3.24'

str(12a)   錯誤:語法錯誤

(2) 內建函式round():四捨五入取整

round(number, ndigits=none)  # ndigits是保留小數點後幾位,預設為0

round(2.3)   返回:2

round(2.8)   返回:3

round(0.5)   返回:0     ???

round(1.5)   返回:2

round(2.5)   返回:2     ???

round(3.5)   返回:4

round(4.5)   返回:4     ???

round(4.501)   返回:5

round(5.5)   返回:6

### 整數字為奇數時,小數為.5時取整時可以進製,但如果整數字為偶數時,小數為.5時取整時是不進製的???

round(-2.4)   返回:-2 

round(-2.5)   返回:-2    ???

round(-2.6)   返回:-3

round(-3.4)   返回:-3 

round(-3.5)   返回:-4   

round(-3.6)   返回:-4

(3) math模組的floor()函式:取小於等於的整數

math.floor(0.3)  返回:0

math.floor(-0.3)  返回:-1   # 與int(-0.3)=0不同

math.floor(1.5)  返回:1

math.floor(1.8)  返回:1

math.floor(-1.1)  返回:-2

math.floor(-1.8)  返回:-2

2. 浮點數保留幾位小數:

(1) 內建函式round():

round(number, ndigits=none)  # ndigits是保留小數點後幾位,預設為0

round(2,1)   返回:2

round(2.0,1)   返回:2.0

round(2.2,1)   返回:2.2

round(2.24,1)   返回:2.2

round(2.25,1)   返回:2.2  ???

round(2.26,1)   返回:2.3

round(2.34,1)   返回:2.3

round(2.35,1)   返回:2.4

round(2.36,1)   返回:2.4

round(3.24,1)   返回:3.2

round(3.25,1)   返回:3.2

round(3.26,1)   返回:3.3

round(3.34,1)   返回:3.3

round(3.35,1)   返回:3.4

round(3.36,1)   返回:3.4

round(1.23456, 4)  返回: 1.2346

(2) float(): 型別工廠函式。

float(2)  返回:2.0

float(-2)  返回:-2.0

float(2.134)  返回:2.134

float('2') 返回:2.0  

float('-2')  返回:-2.0

float('-2.3456')  返回:-2.3456

float('-2.34a')   錯誤:無法轉換

(3) 浮點數轉換為字串:

str(2.0)    返回:'2.0'

str(2.00)    返回:'2.0'

str(-3.24)    返回:'-3.24'

'%f'%2   返回:'2.000000'

'%f'%2.0   返回:'2.000000'

'%f'%2.01   返回:'2.010000'

'%.2f'%2   返回:'2.00'

'%.4f'%2.123456   返回:'2.1235'  # 四捨五入 

位運算相關 及 268 丟失的數字

位運算 位運算即 先將數字 轉化為 二進位制下的表示,再進行邏輯操作,具體運算有 按位與 按位或 按位異或 按位取反 左移 右移 帶符號右移。正數右移高位補0,負數右移高位補1。無符號右移。無論是正數還是負數,高位通通補0。與 之間的區別也是如此 268.丟失的數字描述給定乙個包含 0,n 中n個數...

Python中數字以及算數運算子的相關使用

python數字 數字資料型別用於儲存數值。他們是不可改變的資料型別,這意味著改變量字資料型別會分配乙個新的物件。當你指定乙個值時,number物件就會被建立 var1 1 var2 10 您也可以使用del語句刪除一些物件引用。del語句的語法是 del 程式設計客棧var1 var2 var3 ...

Shell數字及日期運算

兩邊沒有空格的 是賦值操作符,例如 number 6 加上空格的 是等量關係測試,例如 if 1 2 then ehco 1等於2 else echo 1不等於2 fi n1 2 n2 3 let rs n1 n2 echo rs 自加操作 let n1 echo n1 自減操作 let n1 le...