Android

วิธีการแปลงสตริงเป็นจำนวนเต็มในไพ ธ อน

’, Â, � etc... How to fix strange encoding characters in WP or other SQL database

’, Â, � etc... How to fix strange encoding characters in WP or other SQL database

สารบัญ:

Anonim

ชนิดข้อมูลทั้งหมดใน 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 นั้นเป็นวัตถุสตริง

ลองทำคณิตศาสตร์กับตัวแปร:

print(days+5)

Python จะส่งข้อผิดพลาดข้อยกเว้น 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 ถูกต้อง

ตัวอย่างเช่นในระบบเลขฐานสิบหกจำนวน 54732 จะแสดงเป็น 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'

ข้อสรุป

ใน Python คุณสามารถแปลงสตริงเป็นจำนวนเต็มโดยใช้ int()

หลาม