ภาพรวม
บทความนี้แสดงวิธีการจัดรูปแบบตัวเลขให้มีเครื่องหมายจุลภาค (Comma) คั่นระหว่างหมื่น พัน ล้าน เป็นต้น โดยใช้ภาษา Python ตัวอย่างเช่น ตัวเลข 512462687 จะกลายเป็น "512,462,687"
ขั้นตอนการแก้ปัญหา
- แปลงตัวเลข
nเป็นสตริง - กลับลำดับสตริง (Reverse)
- เตรียมสตริงว่าง
ansสำหรับเก็บผลลัพธ์ - วนลูปผ่านแต่ละตัวอักษรของสตริงที่กลับแล้ว:
- ถ้าตำแหน่ง
iหาร 3 ลงตัว และiไม่ใช่ 0 ให้เพิ่มเครื่องหมายจุลภาค','เข้าไปในans - นำตัวอักษรปัจจุบันมาต่อท้าย
ans
- ถ้าตำแหน่ง
- กลับลำดับ
ansอีกครั้งเพื่อให้ได้ลำดับที่ถูกต้อง - คืนค่า
ans
ตัวอย่างโค้ด (Python)
def solve(n):
res = str(n)
res = res[::-1]
ans = ""
for i in range(len(res)):
if i % 3 == 0 and i != 0:
ans += ','
ans += res[i]
ans = ans[::-1]
return ans
n = 512462687
print(solve(n))
อินพุต
512462687
เอาต์พุต
512,462,687
วิธีทางเลือก (Built-in)
Python มีฟังก์ชัน built-in ที่ทำได้ง่ายกว่าคือ format(n, ",") หรือ f-string f"{n:,}" ซึ่งแนะนำให้ใช้ในโค้ดจริงเพื่อความกระชับและประสิทธิภาพ