Devdit
 

ValueError: could not convert string to float: 'x' Python คือ วิธีแก้ไข

3.7K

เขียนโปรแกรมภาษา Python รับค่าจากผู้ใช้งานเป็นชนิดตัวเลขทศนิยม (float) แต่มีปัญหา คือ ถ้าใส่ข้อมูลเป็นอย่างอื่นที่ไม่ใช่ตัวเลข โปรแกรมจะ Error แล้วขึ้นมา ValueError: could not convert string to float: 'x' แบบนี้ต้องแก้ไขอย่างไร

number = float(input("Please input number: "))

Please input number: x
Traceback (most recent call last):
  File "D:\crud.py", line 9, in <module>
    action = float(input("Please input number: "))
ValueError: could not convert string to float: 'x'

 

วิธีแก้ไข

แนะนำให้ใช้ try except เพื่อป้องกันปัญหา สามารถเขียนโปรแกรมได้ดังนี้

try:
    number = float(input("Please input number: "))
except:
    number = 0.0

โค้ดส่วนใดที่อาจเกิด Error ให้ใส่ไว้ใน try และหากเกิด Error ขึ้นให้เขียนสิ่งที่ต้องการลงไปในส่วนของ except จากตัวอย่างด้านบนหากตัวแปร number มีค่าไม่ใช่ตัวเลขทศนิยม ให้ตัวแปร number มีค่าเท่ากับ 0.0

แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ