บทเรียนที่ 32 คณิตศาสตร์(พิเศษ)
ตัวถูกกระทำ(object)ที่ใช้ในการคำนวณทางคณิตศาสตร์ของจาวาสคริป มีชื่อว่า Math ในหน้านี้หากใครเก่งคณิตศาสตร์ คงเข้าใจทุกคำสั่งอย่างถ่องแท้แน่นอนครับ แต่ถ้าไม่ และอยากเข้าใจหรือนำไปใช้ ผมก็ต้องขอความกรุณาหาหนังสือเรียนคณิตศาสตร์มาอ่านเองนะครับ ผมคิดว่า คำสั่ง Math ประโยชน์มาก ต่อการเขียนโปรแกรมจาวาสคริปที่มีการคำนวณตัวแปรหรือสมการเยอะๆ หรือใช้กับการเคลื่อนที่ทั้งในแนวเส้นตรงและวิถีโค้งของ DHTML ...ผมขอแสดงตัวอย่าง แบบกระชับในตารางด้านล่างนะครับ สมมติว่าแต่ละสคริป(คำสั่ง)อยู่ใน <script language="javascript"> และ </script> เรียบร้อยแล้ว
การคำนวณ | คำสั่ง | ค่าของคำสั่ง |
ตัดเศษทศนิยมทิ้งไป | parseInt(5.72354) | 5 |
ปัดเศษขึ้นหรือลงตามความเหมาะสม | Math.round(5.5) | 6 |
ปัดเศษขึ้นไปเท่านั้น | Math.ceil(5.3) | 6 |
ปัดเศษลงมาเท่านั้น | Math.floor(5.7) | 5 |
สุ่มค่าตั้งแต่ 0 ถึง 1 | Math.random() | 0.9003672246833018 |
เปลี่ยนค่าลบให้เป็นบวก | Math.abs(-5.7) | 5.7 |
ยกกำลัง | Math.pow(10,2) | 100 |
หาค่า square root (ตัวอย่างนี้ใช้คำสั่ง Math.pow(4,0.5) แทนได้ครับ) | Math.sqrt(4) | 2 |
ค่าคงที่ PI | Math.PI | 3.141592653589793 |
การเปลี่ยนหน่วยมุมจากองศาให้เป็น radian (ในตัวอย่างคิดจาก 90 องศา) | Math.PI*90/180 | 1.5707963267948965 |
หาค่า sin ในหน่วย radian | Math.sin(Math.PI/2) | 1 |
หาค่า cos ในหน่วย radian (ในผลทางขวา ตัว e ขีด 17 หมายถึง คูณสิบยกกำลังลบสิบเจ็ด) | Math.cos(Math.PI/2) | 6.123031769111886e-17 |
หาค่า tan ในหน่วย radian | Math.tan(Math.PI/2) | 16331778728383844 |
หาค่า asin (มุม)ในหน่วย radian | Math.asin(1) | 1.5707963267948965 |
หาค่า acos (มุม)ในหน่วย radian | Math.acos(0) | 1 |
หาค่า atan (มุม)ในหน่วย radian | Math.atan(Math.pow(10,20)) | 1.5707963267948965 |
ค่าคงที่ E (natural logarithms) | Math.E | 2.718281828459045 |
ยกกำลังค่า E | Math.exp(2) | 7.38905609893065 |
หาค่า log ฐาน E | Math.log(2.71828) | 0.999999327347282 |
ค่าของ log e ฐาน 2 | Math.LOG2E | 1.4426950408889633 |
ค่าของ log e ฐาน 10 | Math.LOG10E | 0.4342944819032518 |
ค่าของ ln 2 | Math.LN2 | 0.6931471805599453 |
ค่าของ ln 10 | Math.LN10 | 2.302585092994046 |
ทดสอบว่าไม่ใช่ตัวเลขหรือเปล่า (Is Not a Number) true คือจริง false คือเท็จ | isNaN(2) | false |
ทดสอบว่าค่าในวงเล็บว่าจำกัด(finite)หรือไม่ | Math.isFinite(1) | true |
ค่าไร้ขีดจำกัด(infinity)ทางบวก | Number.POSITIVE_INFINITY | Infinity |
ค่าไร้ขีดจำกัด(infinity)ทางลบ | Number.NEGATIVE_INFINITY | -Infinity |
หาค่าสูงสุด | Math.max(2,5,1) | 5 |
หาค่าต่ำสุด | Math.min(2,5,1) | 1 |
ผลของวงเล็บต่อการคำนวณ | (2+4/2) | 4 |
จาวาสคริปสามารถรองรับเลขจำนวนเต็ม(เช่น -2, -1, 0, 1, 2 ) ได้ตั้งแต่ -253 ถึง 253 แต่ในบางชุดคำสั่ง ไม่สามารถรองรับเลขจำนวนน้อยสุดๆหรือมากสุดๆเช่นนั้นได้ จึงเป็นการดีที่จะใช้เลขในช่วง -231 ถึง 231 หรืออยู่ระหว่าง ติดลบสองล้านล้าน ถึง สองล้านล้าน ซึ่งไม่น่าเป็นปัญหาหากคุณไม่นำไปใช้คำนวณอะไรที่มากๆเวอร์ๆ เช่น จำนวนวินาทีของแสนปี
ไม่มีความคิดเห็น:
แสดงความคิดเห็น