modulo ของ php

อยู่ในประเภท: PHP | มีคอมเม้นท์เดียวอะ »
โพสเมื่อ

ในภาษา 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

แท็กส์ : ,