’, Â, � etc... How to fix strange encoding characters in WP or other SQL database
สารบัญ:
ชนิดข้อมูลทั้งหมดใน Python รวมถึงจำนวนเต็มและสตริงเป็นวัตถุ บ่อยครั้งที่เขียนรหัส Python คุณจะต้องแปลงประเภทข้อมูลหนึ่งไปเป็นประเภทอื่น ตัวอย่างเช่นในการดำเนินการทางคณิตศาสตร์กับตัวเลขที่แสดงเป็นสตริงจะต้องมีการแปลงเป็นจำนวนเต็ม
ในบทช่วยสอนนี้เราจะแสดงวิธีแปลงสตริง Python ให้เป็นจำนวนเต็ม
Python
int()
ฟังก์ชั่น
ฟังก์ชั่น
int()
ฟังก์ชั่นส่งกลับวัตถุจำนวนเต็มทศนิยมจากจำนวนที่กำหนดหรือสตริง ใช้แบบฟอร์มต่อไปนี้:
int(x, base=10)
ฟังก์ชั่น `ยอมรับสองข้อโต้แย้ง:
-
x
- สตริงหรือตัวเลขที่จะแปลงเป็นจำนวนเต็มbase
- มันหมายถึงระบบตัวเลขของการโต้แย้งครั้งแรก ค่าสามารถเป็น 0 และ 2–36 หากไม่มีการระบุฐานค่าเริ่มต้นคือ 10 (จำนวนเต็มฐานสิบ)
โดยปกติแล้วเลขจำนวนเต็มจะแสดงเป็นเลขฐานสิบหก (ฐาน 16) ฐานสิบ (ฐาน 10) ฐานแปด (ฐาน 8) หรือเลขฐานสอง (ฐาน 2)
หากไม่สามารถแสดงอาร์กิวเมนต์ที่ระบุเป็นจำนวนเต็มฟังก์ชันจะส่งข้อยกเว้น
ValueError
การแปลงสตริง Python ให้เป็นจำนวนเต็ม
ใน Python 'สตริง' คือรายการของตัวละครที่ถูกประกาศโดยใช้ single (
'
), double (
"
) หรือเครื่องหมายคำพูดสาม (
"""
)
หากมีการประกาศตัวแปรที่มีตัวเลขเท่านั้นโดยใช้เครื่องหมายอัญประกาศประเภทข้อมูลจะถูกตั้งค่าเป็น String ลองพิจารณาตัวอย่างต่อไปนี้:
days = "23" type(days)
ฟังก์ชั่น
type()
แสดงให้เราเห็นว่า
days
นั้นเป็นวัตถุสตริง
ลองทำคณิตศาสตร์กับตัวแปร: Python จะส่งข้อผิดพลาดข้อยกเว้น
ในการแปลงการแทนค่าสตริงของจำนวนเต็มทศนิยมให้เป็น
หากตัวเลขมีเครื่องหมายจุลภาคทำเครื่องหมายปิดเป็นพันล้าน ฯลฯ คุณต้องลบเครื่องหมายจุลภาคก่อนส่งผ่านตัวเลขไปยัง
เมื่อแปลงสตริงที่แสดงจำนวนเต็มในระบบตัวเลขที่แตกต่างกันตรวจสอบให้แน่ใจว่าคุณใช้
ตัวอย่างเช่นในระบบเลขฐานสิบหกจำนวน 54732 จะแสดงเป็น
หากคุณส่งสตริง
ใน Python คุณสามารถแปลงสตริงเป็นจำนวนเต็มโดยใช้
print(days+5)
TypeError
เนื่องจากเราไม่สามารถทำการคำนวณเพิ่มเติมด้วยสตริงและจำนวนเต็ม:
Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects
Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects
Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects
int
ให้ส่งสตริงไปยัง
int()
ซึ่งคืนค่าจำนวนเต็มทศนิยม:
days = "23"
days_int = int(days)
type(days_int)
print(days_int+5)
28
int()
:
total = "1, 000, 000"
int(total.replace(", ", ""))
1000000
base
ถูกต้อง
D5CF
ในการแปลงให้เป็นจำนวนเต็มฐานสิบคุณต้องใช้ฐาน 16:
int("D5CF", 16)
54735
D5CF
ไปยัง
int()
โดยไม่ต้องตั้งค่าฐานมันจะส่งข้อยกเว้น
ValueError
:
int("D5CF")
Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF'
Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF'
Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF'
ข้อสรุป
int()