ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: Mrpoohling ที่ 14 กุมภาพันธ์ 2017, 11:57:36



หัวข้อ: PHP ต้องการ FIX number format 2ตัวสุดท้ายเป็น .69
เริ่มหัวข้อโดย: Mrpoohling ที่ 14 กุมภาพันธ์ 2017, 11:57:36
ผมต้องการ FIX number format หลัง . เป็น 69 ครับ

เช่น

1234.69
หรือ
500.69

ให่้มันตายตัวไว้ที่ 69

จะเขียนได้อย่างไรครับ  :'( :'(


หัวข้อ: Re: PHP ต้องการ FIX number format 2ตัวสุดท้ายเป็น .69
เริ่มหัวข้อโดย: snohomish ที่ 14 กุมภาพันธ์ 2017, 12:41:13
โค๊ด:
$a= "50645.65";
$b = number_format($a);  //ทำให้เป็นจำนวนเต็ม
$c = $b.".69"; // เชื่อมด้วย 0.69
echo $c;

แบบบ้าน ๆ ครับ


หัวข้อ: Re: PHP ต้องการ FIX number format 2ตัวสุดท้ายเป็น .69
เริ่มหัวข้อโดย: Mrpoohling ที่ 14 กุมภาพันธ์ 2017, 13:03:43
ขอบคุณครับ  :'( :'(


หัวข้อ: Re: PHP ต้องการ FIX number format 2ตัวสุดท้ายเป็น .69
เริ่มหัวข้อโดย: f206cs ที่ 17 กุมภาพันธ์ 2017, 15:44:55
โค๊ด:
$a= "50645.65";
$b = number_format($a);  //ทำให้เป็นจำนวนเต็ม
$c = $b.".69"; // เชื่อมด้วย 0.69
echo $c;

แบบบ้าน ๆ ครับ

ผมว่าใช้แบบนี้ดีกว่าครับ

โค๊ด:
$a = 50645.65;
$b = floor($a);
$c = $b + 0.69;
แต่ถ้าเลขเป็นลบให้ใช้แบบนี้ครับ
$a = -50645.65;
$aa = $a*(-1);
$b = floor($aa);
$bb = $b + 0.69;
$c = $b*(-1);

***
ปัญหาคือ number_format() กรณีที่ทศนิยมเกิน 0.5 มันจะปัดเป็น 1 ครับ
ดังนั้นตามตัวอย่างข้างบนจาก 50645.65 ถ้าใช้ number_format แทนที่จะได้ 50645.69 มันจะได้ 50646.69 แทนครับ
เพราะ number_format(50645.65) มันจะได้ 50646 ครับ ไม่ใช่ 50645
***





หัวข้อ: Re: PHP ต้องการ FIX number format 2ตัวสุดท้ายเป็น .69
เริ่มหัวข้อโดย: cloverink ที่ 17 กุมภาพันธ์ 2017, 18:07:04
ใช้แบบนี้ก็ได้ครับ ถ้ากลัวเรื่องปัดตัวเลข กับตัวเลขติดลบ ถ้าไม่อยากได้ comma ก็เอา number_format ออก

number_format(intval($a)) . ".69"