4 ก.ย. 2554

บทเรียนที่ 32 คณิตศาสตร์(พิเศษ)

บทเรียนที่ 32 คณิตศาสตร์(พิเศษ)


                    ตัวถูกกระทำ(object)ที่ใช้ในการคำนวณทางคณิตศาสตร์ของจาวาสคริป มีชื่อว่า Math ในหน้านี้หากใครเก่งคณิตศาสตร์ คงเข้าใจทุกคำสั่งอย่างถ่องแท้แน่นอนครับ แต่ถ้าไม่ และอยากเข้าใจหรือนำไปใช้ ผมก็ต้องขอความกรุณาหาหนังสือเรียนคณิตศาสตร์มาอ่านเองนะครับ ผมคิดว่า คำสั่ง Math ประโยชน์มาก ต่อการเขียนโปรแกรมจาวาสคริปที่มีการคำนวณตัวแปรหรือสมการเยอะๆ หรือใช้กับการเคลื่อนที่ทั้งในแนวเส้นตรงและวิถีโค้งของ DHTML ...ผมขอแสดงตัวอย่าง แบบกระชับในตารางด้านล่างนะครับ สมมติว่าแต่ละสคริป(คำสั่ง)อยู่ใน <script language="javascript"> และ </script> เรียบร้อยแล้ว

การคำนวณ

คำสั่ง

ค่าของคำสั่ง

ตัดเศษทศนิยมทิ้งไป

parseInt(5.72354)

5

ปัดเศษขึ้นหรือลงตามความเหมาะสม

Math.round(5.5)
Math.round(5.3)

6
5

ปัดเศษขึ้นไปเท่านั้น

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)
isNaN('กขค')

false
true

ทดสอบว่าค่าในวงเล็บว่าจำกัด(finite)หรือไม่

Math.isFinite(1)
Math.isFinite(1/0)

true
false

ค่าไร้ขีดจำกัด(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)
(2+4)/2
10-(5*2)
(10-5)*2

4
3
0
10


                    จาวาสคริปสามารถรองรับเลขจำนวนเต็ม(เช่น -2, -1, 0, 1, 2 ) ได้ตั้งแต่ -253 ถึง 253 แต่ในบางชุดคำสั่ง ไม่สามารถรองรับเลขจำนวนน้อยสุดๆหรือมากสุดๆเช่นนั้นได้ จึงเป็นการดีที่จะใช้เลขในช่วง -231 ถึง 231 หรืออยู่ระหว่าง ติดลบสองล้านล้าน ถึง สองล้านล้าน ซึ่งไม่น่าเป็นปัญหาหากคุณไม่นำไปใช้คำนวณอะไรที่มากๆเวอร์ๆ เช่น จำนวนวินาทีของแสนปี

 

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

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

 
;