python: 類型轉換(int,long,float->string)


# -*- coding: UTF-8 -*-

import sys

# 這個例子主要是了解python的字符串和int/long/float等類型的轉換關系

# int string轉int
a = "123"
print(int(a)) #字符串轉換為int

# 字符串無法轉換為int
a = "aa"
#print(int(a)) #Error ValueError: invalid literal for int() with base 10: 'aa'

# 非純數字轉換為int報錯
a = "1aa"
# print(int(a)) # ValueError: invalid literal for int() with base 10: '1aa'

# 浮點string轉float
b = "123.1"
# print(int(b)) #Error ValueError: invalid literal for int() with base 10: '123.1'
print(float(b)) #轉換為float,  無法直接轉換為int

# 浮點string轉int
b = "1.1"
print(int(float(b))) #轉換為int

# long()函數已經過時 推薦使用int()
# 不僅python3可以用int()來處理long整形 python2.7.10也是ok的
# 這里要注意的是long()函數只是python2支持 python3是不支持的 python3中將int和long統一使用int()函數來處理 但是支持的數據類型為long
c = 1 + int(1) #long和int可以直接相加
print(c)

c = 1.0 + int(1) #long和float可以直接相加
print(c)

longData = "1234567890111112222211"
print(type(int(longData))) #python2.7.10已經可以用int函數來返回long類型了
print(type(sys.maxint)) #9223372036854775807

# int|long|float轉string
t = 1
print(str(t))
t = sys.maxint + 1 #9223372036854775808
print(str(t)) 
t = 123.123
print(str(t))

 

上面的代碼主要涉及:

int-string 互轉

long-string 互轉

float-string 互轉

 

沒有涉及int的10-8-16進制互轉,已經string直接轉8-16進制。更多的函數請參考:https://www.cnblogs.com/liuyutan/p/13279876.html

為了防止鏈接丟失,列出其他轉換函數:

函數 功能描述
complex(real[,imag]) 復數
repr(x) 將對象x轉換為表達式字符串
eval(str) 執行一個字符串表達式,返回對象
tuple()  
list()  
set()  
dict()  
fronzenset()  
chr()  
unichr()  
ord()  
hex()  
oct()  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM