Numeric Integer Natural ใน CodeIgniter

Numeric Integer Natural ใน CodeIgniter

แอบสงสัย ว่า numeric integer natural มันก็เป็นตัวเลขเหมือนกันหมด แล้วมันต่างกันตรงไหนอย่างไร ต้องแบ่งออกมาเป็น 3 แบบ

ถ้าใครได้เรียกใช้ส่วน validate ของ CodeIgniter จะพบว่ามีการ validate ตัวเลข 3 แบบ(ที่ไม่นับแบบย่อยๆ) คือ

numeric
integer
natural 

ทีนี้ก็เข้าใจแหล่ะ ว่า natural มันคือ 0 1 2 3 หรือเลขจำนวนเต็มที่ไม่ติดลบนั่นแหล่ะ ก็มันมีตัวอย่างให้ดูนี่

แต่ปัญหาคือ numeric ต่างจาก integer อย่างไร อะไรคือแบบไหน เพราะว่ามันก็ตัวเลข อาจจะเป็นตัวนึงติดลบได้ อีกตัวไม่ได้หรือเปล่า หรือว่า ตัวนึงเป็นทศนิยมได้อีกตัวเป็นทศนิยมไม่ได้หรือเปล่า งง หาข้อมูลสักพักใหญ่ๆ จนได้ idea ว่าต้องเปิดไฟล์ /libraries/Validation.php ขึ้นมาดูเท่านั้นก็ทำให้บางอ้อได้ว่า

Numeric คือเลขที่มีทั้งค่าบวกและลบ โดยที่เป็นทศนิยมก็ได้ ใช้คำสั่ง return (bool)preg_match( '/^[\-+]?[0-9]*\.?[0-9]+$/', $str);

Integer   คือจำนวนเต็มที่มีเครื่องหมาย บวกลบนั่นเอง ใช้คำสั่ง return (bool)preg_match( '/^[\-+]?[0-9]+$/', $str);

อันนี้คือส่วน Validate ของ Codeigniter เท่านั้นนะครับ หากใครใช้ภาษา หรือ framework อื่นอาจจะไม่เหมือนกันได้ครับ

[PRINT VERSION] เขียน: 2010-04-15 22:03:44 แก้ไข : 2010-04-15 22:57:22 อ่าน : 1867
tag :

Comment

Comment
BeYourCyber - 14/04/2010 23:00:00 -
ร่วมพูดคุยในหัวข้อของบทความ Numeric Integer Natural ใน CodeIgniter
แอบสงสัย ว่า numeric integer natural มันก็เป็นตัวเลขเหมือนกันหมด แล้วมันต่างกันตรงไหนอย่างไร ต้องแบ่งออกมาเป็น 3 แบบ