วันพุธที่ 14 มกราคม พ.ศ. 2558

PHP - ฟังก์ชันการแปลงเลข-หน่วย

เป็นฟังก์ชันที่ใช้แปลงตัวเลขหรือข้อความแสดงตัวเลขฐานหนึ่ง ไปเป็นข้อความหรือตัวเลขฐาน
อื่นๆ มีทั้งฟังก์ชันแปลงฐานใดๆ และฟังก์ชันที่กำหนดเฉพาะฐาน และยังมีฟังก์ชันที่ทำการแปลงหน่วย
ของมุมด้วย ฟังก์ชันในกลุ่มนี้ประกอบด้วยฟังก์ชันต่างๆ ดังนี้
string base_convert (string data,
int frombase, int tobase)
แปลงข้อความเลขฐานหนึ่งไปเป็นอีกฐานหนึ่งโดยระบุฐาน
ของเลขต้นทางและผลลัพธ์ตัวอย่างเช่น
$accessBit = base_convert ("744",8,2);
เป็นการแปลงข้อความจากเลขฐาน 8 เป็นเลขฐานสอง
เป็นต้น
int bindec ( string binary_string) แปลงข้อความแสดงเลขฐานสองให้เป็นเลขจำนวนเต็มฐาน
สิบ
string decbin ( int number) แปลงตัวเลขจำนวนเต็มให้เป็นข้อความแสดงเลขฐานสอง
string dechex ( int number) แปลงตัวเลขจำนวนเต็มให้เป็นข้อความแสดงเลขฐานสิบหก
string decoct ( int number) แปลงตัวเลขจำนวนเต็มให้เป็นข้อความแสดงเลขฐานแปด
float deg2rad ( float number) แปลงตัวเลขมุมที่มีหน่วยเป็นองศาให้เป็นหน่วย radian
int hexdec ( string hex_string) แปลงข้อความแสดงเลขฐานสิบหกให้เป็นตัวเลขจำนวนเต็ม
int octdec ( string hex_string) แปลงข้อความแสดงเลขฐานแปดให้เป็นตัวเลขจำนวนเต็ม
float rad2deg ( float number) แปลงตัวเลขมุมที่มีหน่วยเป็นเรเดียนให้เป็นหน่วยองศา
ตัวอย่างเช่น การสร้างฟังก์ชันเพื่อสร้าง color # ที่กำหนดสีให้แก่ HTML tag เช่น <body
bgcolor="#03203A"> ซึ่งต้องการเลขฐานสิบหก จากค่าตัวเลขสีแต่ละสีเป็นเลข 0-255 แสดงดัง
Listing 3.1-1
Listing 3.1-1 colorId-exam.php
1 <?
2 function colorID255($r,$g,$b){
3 $r = min($r,255);
4 $g = min($g,255);
5 $b = min($b,255);
6 return "#" .
7 str_pad(dechex($r),2,"0",STR_PAD_LEFT) .
8 str_pad(dechex($g),2,"0",STR_PAD_LEFT) .
9 str_pad(dechex($b),2,"0",STR_PAD_LEFT);
10 }
11 echo colorID255(200,40,130);
12 ?>
ตัวอย่างนี้ฟังก์ชัน colorID255 รับ argument 3 ตัวเป็นค่าสี integer สำหรับแม่สี red,
green และ blue จากตัวแปร $r, $g และ $b ในตัวอย่างนี้ใช้ฟังก์ชัน 3 ฟังก์ชันได้แก่ min( ) ,
dexhex( ) และ str_pad( ) โดย คำสั่งบรรทัดที่ 3-5 ใช้เพื่อไม่ให้ค่าในตัวแปร $4,$g,$b เกิน 255
เนื่องจากฟังก์ชัน min( ) จะให้ผลจากค่า argument ที่มีค่าน้อยกว่าดังนั้นหากค่าในตัวแปรเกิน 255
จะให้ผลลัพธ์เป็น 255 แต่หากไม่เกินจะให้ค่าเดิม ในบรรทัดที่ 7-9 จะทำการแปลงจากค่าตัวเลขใน
ตัวแปรให้กลายเป็นข้อความที่แสดงเลขฐานสิบหกโดยใช้ฟังก์ชัน dechex( ) และเติมเลข 0 นำหน้าให้
ครบ 2 หลักโดยใช้ฟังก์ชัน str_pad( )

ไม่มีความคิดเห็น:

แสดงความคิดเห็น