Number คือ PHP class ที่เข้ามาทำให้การจัดการตัวเลขต่างๆทำได้ง่ายขึ้น เช่น แปลงตัวเลขเป็นตัวหนังสือ, แปลงตัวเลขเป็นคำอ่านจำนวนเงิน, แปลงค่าไฟล์จาก Bytes, หรือแปลงไปเป็น Bytes
ดาวน์โหลด หรือติดตั้งผ่าน Composer
อ้างอิง เอกสาร API
// ในกรณีที่คุณไม่ได้ติดตั้งผ่าน Composer คุณต้อง include/require ไฟล์
require __DIR__.'/Rundiz/Number/Number.php
$number = new \Rundiz\Number\Number();
// class Number พร้อมใช้งานแล้วผ่าน $number
แปลงตัวเลขเป็นเงินบาท
echo $number->convertBaht(20000.50, true, 'Thai');// จะได้ สองหมื่นบาทห้าสิบสตางค์
ค่าแรกให้กรอกเป็นตัวเลขโดยตรวจ format ให้ถูกต้องไม่ให้มี ,
ค่าที่สองกำหนดเป็น true ถ้าจะให้แสดงคำว่าถ้วนกรณีไม่มีจำนวนสตางค์
ค่าที่สาม กำหนดภาษา โดยชื่อภาษาให้ตรงกับชื่อไฟล์ NumberXXX.php ซึ่งก็คือ English, Thai
แปลงตัวเลขเป็นคำตัวอักษร
echo $number->convertNumber(1001, 'Thai');// จะได้ หนึ่งพันเอ็ด
ค่าแรกให้กรอกเป็นตัวเลขโดยตรวจ format ให้ถูกต้องไม่ให้มี ,
ค่าที่สอง กำหนดภาษา โดยชื่อภาษาให้ตรงกับชื่อไฟล์ NumberXXX.php ซึ่งก็คือ English, Thai
แปลงขนาดไฟล์จากไบต์
echo $number->fromBytes(1300, 'AUTO', 2);// จะได้ 1.30 KB
ค่าแรกเป็นตัวเลขขนาดไบต์
ค่าที่สองเป็นหน่วยที่จะแปลง กำหนดได้ เช่น KiB, KB, MiB, MB, ...ไปเรื่อยๆจนถึง YiB, YB หรือกำหนด AUTO เพื่อแปลงอัตโนมัติ
ค่าที่สามเป็นจำนวนทศนิยมที่จะแปลงออกมา
แปลงขนาดไฟล์เป็นไบต์
echo $number->toBytes('9.7MiB');// จะได้ 10171187.2
ค่าแรกเป็นขนาดไฟล์พร้อมหน่วยกำกับ โดยหน่วยจะเป็นได้ตั้งแต่ B, KiB, KB, ...ไปเรื่อยๆจนถึง YiB, YB
2 comments on “จัดการและแปลงค่าตัวเลข”
ได้ลองเอาไปใช้ผสมกับ mpdf พิมพ์เป็นไฟล์ออกมาค่ะ แต่เจอปัญหาอยู่ข้อหนึ่ง คือเวลาที่ พิมพ์ออกไปแล้วตัวหนังสือมันอยู่ขอบ ๆ จะไม่สามารถพิมพ์ให้ต่อไปได้ค่ะมันจะขึ้นบรรทัดใหม่อัตโนมัติ แก้ยังไงได้ไหมคะ
แล้วเราจะสามารถเก็บตัวเลขเป็น string ได้ไหมคะ หรือว่าต้องเรียกฟังก์ชั่นทุกครั้งไปเลย
mpdf ติดขอบคงต้องดูว่าทำอย่างไรให้มันไม่ wrap (no wrap) text. กรณีนี้ไม่น่าจะเกี่ยวกับ class นี้เพราะมันแค่แปลงเลขออกมาเป็นตัวอักษรธรรมดา และตัวอักษรนั้นก็เป็นการเข้ารหัส utf-8 ตามไฟล์ php.
การเก็บเป็น string ทำได้ตามปกติครับ.