|
|
|
ลบเลขแล้วได้หน่วยที่เป็นจุดมากเกินไป (1299.45-1299 = 0.45000000000005) แก้ยังไงครับ? |
|
|
|
|
|
|
|
ถ้าใช้ float (IEEE 754) ใน php หรือในภาษาอื่นๆ (เช่น javascript) ปัญหานี้มันแก้ไม่ได้ครับ เพราะเป็นปกติของข้อมูลชนิดนี้อยู่แล้วที่จะมีความผิดพลาด
คงต้องใช้ bcmath หรือ arbitrary precision numbers library อื่นๆ ช่วยครับ
Code (PHP)
<?php
echo bcsub('1299.45', '1299', 4); // ศูนย์ 4 หลัก
echo bcsub('1299.45', '1299', ini_get('precision')); // ใช้ precision ตามที่กำหนดไว้ใน php.ini
|
|
|
|
|
Date :
2014-07-25 00:04:33 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แจ่มเจ๋วมากเลยครับ
|
|
|
|
|
Date :
2014-07-25 02:22:09 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|