PHP การกำหนดรูปแบบทศนิยม ตามค่าที่มี หากทศนิยมเป็น 0 ให้ตัดทิ้ง

โดย CyberMAN

การตัดทศนิยมที่มีค่าเป็นศูนย์ออกจากตัวเลข


จากในรูปก็คือถ้า .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


PHP CI MANIA PHP Code Generator 
โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม

สนใจสั่งซื้อเพียง 4,500 บาท
http://fastcoding.phpcodemania.com/