sprintf
จัดรูปแบบสตริง
ไวยากรณ์: string sprintf(รูปแบบสตริง, แบบผสม [args]...);
ค่าที่ส่งคืน: สตริง
ประเภทฟังก์ชัน: การประมวลผลข้อมูล
คำอธิบาย
ฟังก์ชันนี้ใช้เพื่อจัดรูปแบบสตริง พารามิเตอร์รูปแบบคือรูปแบบการแปลง โดยเริ่มจากเครื่องหมายเปอร์เซ็นต์ % และลงท้ายด้วยอักขระการแปลง รูปแบบที่แปลงแล้วประกอบด้วย
1. เติมอักขระในช่องว่างตามลำดับ ถ้าเป็น 0 แสดงว่าช่องว่างถูกเติมด้วย 0; ช่องว่างนั้นเป็นค่าเริ่มต้น ซึ่งหมายความว่าจะเว้นช่องว่างไว้ตามลำพัง
2. การจัดตำแหน่ง ค่าเริ่มต้นคือการจัดชิดขวา และตารางเครื่องหมายลบจะจัดชิดซ้าย
3. ความกว้างของคอลัมน์ คือความกว้างขั้นต่ำ
4. ความแม่นยำ หมายถึง จำนวนหลักทศนิยมหลังจุดทศนิยม
พิมพ์ดูตารางด้านล่าง
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
แปลงอักขระ
-
% พิมพ์เครื่องหมายเปอร์เซ็นต์โดยไม่มีการแปลง
b แปลงจำนวนเต็มเป็นไบนารี
c แปลงจำนวนเต็มเป็นอักขระ ASCII ที่สอดคล้องกัน
d แปลงจำนวนเต็มเป็นตำแหน่งทศนิยม
แปลง f คูณจำนวนความแม่นยำเป็นจำนวนจุดลอยตัว
o แปลงจำนวนเต็มเป็นฐานแปด
s แปลงจำนวนเต็มเป็นสตริง
จำนวนเต็ม x จะถูกแปลงเป็นเลขฐานสิบหกตัวพิมพ์เล็ก
X แปลงจำนวนเต็มเป็นเลขฐานสิบหกตัวพิมพ์ใหญ่
-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-
ตัวอย่าง
=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ตัวอย่างการใช้งาน
<?
$เงิน1 = 68.75;
$เงิน2 = 54.35;
$เงิน = $เงิน1 + $เงิน2;
// ขณะนี้ค่าของตัวแปร $money คือ "123.1";
$formatted = sprintf ("%01.2f", $money);
// ณ เวลานี้ ค่าของตัวแปร $ ที่จัดรูปแบบคือ "123.10"
?>
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-=-
%01.2f นี้หมายความว่าอย่างไร
ก่อนอื่น สัญลักษณ์ % หมายถึงจุดเริ่มต้น ซึ่งเขียนไว้ด้านหน้าเพื่อระบุว่ารูปแบบที่ระบุกำลังจะเริ่มต้น นั่นคือ "อักขระเริ่มต้น" รูปแบบจะสิ้นสุดลงจนกว่า "อักขระการแปลง" จะปรากฏขึ้น
แล้วสิ่งที่ตามหลังเครื่องหมาย % คือ 0 ศูนย์นี้คือ "อักขระเติมในช่องว่าง" หากตำแหน่งว่าง ให้เติมด้วย 0
สิ่งที่ตามหลัง 0 คือ 1 1 นี้เป็นการกำหนดว่าตัวเลขที่อยู่หน้าจุดทศนิยมต้องมีมากกว่า 1 หลัก
หากคุณเปลี่ยน 1 เป็น 2 และมูลค่าของ $money คือ 1.23 มูลค่าของ $formatted จะเป็น 01.23
เนื่องจากตัวเลขหน้าจุดทศนิยมจะมีเพียง 1 หลัก ตามรูปแบบที่ระบุไว้ข้างต้น ตัวเลขหน้าจุดทศนิยมจึงควรมี 2 หลัก แต่ตอนนี้มีเพียง 1 หลักเท่านั้น จึงควรกรอก 0s
จนถึงตอนนี้ .2 (จุดที่ 2) หลัง %01 นั้นเข้าใจง่าย หมายความว่า ตัวเลขหลังจุดทศนิยมต้องมี 2 หลัก ถ้าตอนนี้มูลค่าของ $money เท่ากับ 1.234 แล้ว $ คือมูลค่าของ ฟอร์แมตแล้วจะเป็น 1.23
เหตุใดจึงขาด 4 หลัก เพราะตามข้อบังคับข้างต้นต้องมีและมีเพียง 2 หลักหลังจุดทศนิยมเท่านั้น อย่างไรก็ตาม ในมูลค่าของ $money จุดทศนิยมมี 3 หลัก ดังนั้น 4 จะถูกลบออก เหลือเพียง 23 หลัก
สุดท้ายลงท้ายด้วย f "อักขระการแปลง" สำหรับอักขระการแปลงอื่นๆ โปรดดูรายการอักขระการแปลงด้านบน
ในส่วนของการจัดตำแหน่ง
หากเพิ่ม - (เครื่องหมายลบ) หลังสัญลักษณ์เริ่มต้น % ตัวเลขจะถูกประมวลผลในลักษณะจัดชิดขวา
ลีซี่
<?
เงิน $ = 1.4;
$formatted = sprintf ("%-02.2f", $money);
echo $จัดรูปแบบ;
?>
ในขณะนี้ $formatted จะไม่ใช่ 01.40 อีกต่อไป แต่เป็น 1.400