กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
349 1
URL.หัวข้อ /
URL
Round() ฟังก์ชันในโปรแกรมต่างๆ
Round() ฟังก์ชันมักจะมีให้ในโปรแกรมต่างๆ เพื่อใช้ในการปัดทศนิยม
ผมเคยยกตัวอย่างในเว็บบอร์ดนี้หลายครั้งแล้ว
โปรแกรมที่มีฟังก์ชัน Round() ที่มีบักคือ Acess 2K, Access XP, โปรแกรมในตระกูล MS Office ที่มี Round() ใน VBA (ยกเว้น Round() ใน Worksheet ของ Excel), Visual Basic 6.0, AuthorWare 5 และ MySQL
คราวนี้มาถึงคิวของ PHP บ้าง ลองโค้ดนี้ดูครับ
echo round(1.45850, 3)
?>
ได้ผลลัพธ์ออกมาเป็น
1.458
ซึ่งก็ผิดเหมือนกัน
และใน PostgreSQL ผมทดสอบดูแล้วผ่านครับ
mydb=# select round(1.45850, 3);
round
-------
1.459
(1 row)
ฉะนั้นโปรแกรม หรือฐานข้อมูลที่ไม่มีบักในฟังก์ชัน Round() (เท่าที่ผมจะทดสอบได้ถึงตอนนี้) คือ
-MS SQL Server
-Excel (ใน Worksheet)
-Oracle
-PostgreSQL
ถ้าท่านรู้จักโปรแกรมอื่นๆ ที่มีฟังก์ชัน Round() ช่วยทดสอบตัวเลขข้างต้นดูเล่นๆ ก็ได้ครับ ได้ผลเป็นอย่างไร แจ้งเข้ามาให้เพื่อนๆ รับทราบด้วย
ผมเคยยกตัวอย่างในเว็บบอร์ดนี้หลายครั้งแล้ว
โปรแกรมที่มีฟังก์ชัน Round() ที่มีบักคือ Acess 2K, Access XP, โปรแกรมในตระกูล MS Office ที่มี Round() ใน VBA (ยกเว้น Round() ใน Worksheet ของ Excel), Visual Basic 6.0, AuthorWare 5 และ MySQL
คราวนี้มาถึงคิวของ PHP บ้าง ลองโค้ดนี้ดูครับ
echo round(1.45850, 3)
?>
ได้ผลลัพธ์ออกมาเป็น
1.458
ซึ่งก็ผิดเหมือนกัน
และใน PostgreSQL ผมทดสอบดูแล้วผ่านครับ
mydb=# select round(1.45850, 3);
round
-------
1.459
(1 row)
ฉะนั้นโปรแกรม หรือฐานข้อมูลที่ไม่มีบักในฟังก์ชัน Round() (เท่าที่ผมจะทดสอบได้ถึงตอนนี้) คือ
-MS SQL Server
-Excel (ใน Worksheet)
-Oracle
-PostgreSQL
ถ้าท่านรู้จักโปรแกรมอื่นๆ ที่มีฟังก์ชัน Round() ช่วยทดสอบตัวเลขข้างต้นดูเล่นๆ ก็ได้ครับ ได้ผลเป็นอย่างไร แจ้งเข้ามาให้เพื่อนๆ รับทราบด้วย
1 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R03999
ใน PHP มีการพูดถึงเรื่อง Bug ตรงนี้อยู่เหมือนกันครับ ลองเข้าไปอ่านดูที่ http://www.php.net/manual/en/function.round.php ซึ่งจะมีแนวทางแก้ไข และความคิดเห็นในการใช้งานด้านนี้อยู่หลากหลาย เผื่อเกิดความคิดที่จะนำไปประยุกต์ทำงานคล้ายๆ กันได้ครับ
Time: 0.1428s