อยู่ในประเภท: PHP |
โพสเมื่อ June 21st, 2008 โดย Bird
ในภาษา php จะใช้เครื่องหมาย % ในการ modulo
ปัญหาที่เกิดขึ้นก็คือเราจะไม่สามารถ modulo ทศนิยมได้
ดู bug ได้ที่ http://bugs.php.net/bug.php?id=41802
เช่น 5%0.11 แทนที่จะได้ 0.05 กลับกลายเป็นว่าได้ 0 และ
แถม warning มาด้วย (Warning: Division by zero)
ทั้งนี้ก็เพราะ % ไม่สามารถกระทำกับ float ได้ โดยจะตัดทศนิยมทิ้ง
ในกรณีตัวอย่างข้างต้น จะปัดเหลือ 0 ทำให้เกิด warning ขึ้น
วิธีแก้ก็คือ เปลี่ยนไปใช้ function fmod
float fmod( float $x , float $y )
http://us2.php.net/manual/en/function.fmod.php
« ISBA06

July 7th, 2008 เมื่อ 9:29 pm
โอ้ เพิ่งรู้ครับๆ