การตัดทศนิยมที่มีค่าเป็นศูนย์ออกจากตัวเลข
จากในรูปก็คือถ้า .00 ก็จะตัดทิ้ง
แต่ถ้ามีทศนิยมมาด้วย ก็ให้คงเอาไว้
วิธีง่ายๆที่ใช้ก็คือ การ +0 เข้าไปเท่านั้นเองก็จะได้ผลลัพธ์ที่ต้องการ
โดยไม่ต้องไปเสียเวลา explode() แล้วมา implode() ใหม่
แต่ถ้ารูปสึกว่า 9166.7 เลขทศนิยมหลักเดียวแบบนี้ไม่สวย จะใส่ number_format() ครอบไว้อีกทีก็ย่อมได้ แต่ทีนี้ถ้าเจอกับเลขที่ไม่มีทศนิยมล่ะ?? ก็กลายเป็น 1255.00 อีก
ดังนั้นก็เพิ่มฟังก์ชั่นสำหรับตรวจสอบเข้าไป
function is_decimal( $val )
{
return is_numeric( $val ) && floor( $val ) != $val;
}
เวลาใช้ก็เรียกแบบนี้
if(is_decimal($val)){
$val = number_format($val, 2);
}else{
$val = number_format($val);
}
ทีนี้เลข 9166.7 ก็จะเป็น 9,166.70 เหมือนเดิม
และเลข 1255.00 ก็กลายเป็น 1,255 เท่านั้น
:: อ้างอิง ::
Remove useless zero digits from decimals in PHP
https://stackoverflow.com/questions/14531679/remove-useless-zero-digits-from-decimals-in-php
Check if number is decimal
https://stackoverflow.com/questions/6772603/check-if-number-is-decimal
ความคิดเห็น
แสดงความคิดเห็น