เขียนโปรแกรมภาษา 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