ฟังก์ชั่นใน PHP ปัดเศษผิด เราจะแก้ปัญหาอย่างไรดี ฟังก์ชั่นใน PHP ปัดเศษผิด เราจะแก้ปัญหาอย่างไรดี
ฟังก์ชั่นใน PHP ปัดเศษผิด เราจะแก้ปัญหาอย่างไรดี
เป็นเพราะ Web Server หรือป่าวก็ไม่รู้ แต่ถ้าจำเป็นต้องใช้ Environment
Code (PHP)
<?php
echo "0.0135 => ".round(0.0135, 3)."<br />";
echo "0.035 => ".round(0.035, 2)."<br />";
echo "0.134 => ".round(0.134, 2)."<br />";
echo "0.034 => ".round(0.034, 2)."<br />";
echo "0.0134 => ".round(0.0134, 2)."<br /><br />";
echo "1.004 => ".round(1.004, 2)."<br />";
echo "1.005 => ".round(1.005, 2)."<br />";
echo "1.006 => ".round(1.006, 2)."<br /><br />";
echo "1.014 => ".round(1.014, 2)."<br />";
echo "1.015 => ".round(1.015, 2)."<br />";
echo "1.016 => ".round(1.016, 2)."<br /><br />";
echo "1.024 => ".round(1.024, 2)."<br />";
echo "1.025 => ".round(1.025, 2)."<br /><br />";
echo "1.034 => ".round(1.034, 2)."<br />";
echo "1.035 => ".round(1.035, 2)."<br /><br />";
echo "1.044 => ".round(1.044, 2)."<br />";
echo "1.045 => ".round(1.045, 2)."<br /><br /><br /><br />";
?>
Tag : - - - -
Date :
2009-06-16 16:38:59
By :
noompkbn9
View :
1224
Reply :
10
แสดงผลออกมาแบบไหนครับ ที่ว่าผิดอ่ะครับ
Date :
2009-06-16 18:34:21
By :
lozomac
Web Server ถ้าคุณไม่ได้ไปปรับ ไปตั้งค่าอะไรกับมัน ผมคิดว่าไม่น่าจะเกิดจากตรงนี้นะครับ
ต้องถามคุณว่า ต้องการในรูปแบบไหน มากกว่า
Date :
2009-06-16 23:00:52
By :
panyapol
Code (PHP)
<?php
echo "1.035 => ".round(1.035, 2)."<br /><br />";
echo "1.045 => ".round(1.045, 2)."<br /><br /><br /><br />";
?>
เช่น 2 ตัวนี้ครับ ต้องการปัดเศษ
1.035 เป็น 2 ตำแหน่ง ปกติต้องได้ 1.04 แต่ PHP ปัดได้ 1.03 ซึ่งมานผิดตามหลักใช่มะครับ
Date :
2009-06-23 11:38:42
By :
noompkbn9
เออ จิงด้วยวุ้ย -*-
Date :
2009-06-23 14:21:30
By :
danya
ผมเอาไปลอง
อันนี้
มันปัดถูกนะ
ผมก็งง
Code (PHP)
<?php
echo "1.135 => ".round(1.135, 2)."<br /><br />";
echo "1.145 => ".round(1.145, 2)."<br /><br /><br /><br />";
?>
Date :
2009-06-23 14:28:39
By :
danya
echo "32.355 => ".round(32.355, 2)."<br /><br />"; // ปัดผิด ดูซี *****ทำไม งง อ่ะ
echo "31.355 => ".round(31.355, 2)."<br /><br />"; // ปัดถูก ดูซี
echo "32.455 => ".round(32.455, 2)."<br /><br />"; // ปัดถูก ดูซี
Date :
2009-12-03 11:57:52
By :
montri
ผมเลยแก้ปัญาโดยเอา ตัวที่คำนวณได้ + 0.00000000001 แล้วค่อยมา round จะได้ค่าที่ถูกต้อง ไม่รู้จะมีปัญหาระยะยาวหรือเปล่าไม่รู้นะ ไม่รู้ทำยังไงแล้ว ผิดบางตัวครับ
Date :
2009-12-03 12:03:02
By :
montri
ผ่านมาก็พบกับความตะลึง ในการปัดค่านี้ 32.355
Date :
2009-12-03 13:47:36
By :
aknueng
ต้องใช้ function BC Match http://th2.php.net/manual/en/function.bcadd.php มาประยุคย์ใช้ครับเพราะ
round ของ PHP มันไม่รับรองความถูกต้องครับผมเจอมาแล้วครับแต่ BC Match ช่วยได้ครับ
Date :
2011-06-22 15:22:45
By :
windersun
Load balance : Server 03