๒๙ กรกฎาคม ๒๕๕๑

การปัดเศษสตางค์ของโปรแกรมคำนวนค่าโทรศัพท์

อยากจะบอกว่าเทคนิคนี้ก็ไม่ได้ใหญ่หลวงอะไร แต่มันเป็นเทคนิคเล็กๆน้อยๆน่ะครับ

ด้วยปัญหาที่ว่า เวลาเราประกาศตัวแปลเป็น float แล้ว พอทำอะไรไปกับมันซักอย่างแล้ว
เราอยากจะได้เลขจำนวนเต็มของมัน เพื่อจะเอาไปทำอะไรซักอย่าง

ผมไม่รู้จะยกตัวอย่างอะไรเลยจะยกถึงโปรแกรมคำนวนคิดค่าโทรโปรโมชั่นนะครับ
อย่างตอนเราปัดเศษเงินสตางค์น่ะครับ เราอาจจะทำแบบนี้ก็ได้น่ะครับ

float totalamount=53.34;

ตานี้ผมจะปัดเศษสตางค์ให้เป็น 54บาทนะครับ
ผมจะใช้โค๊ดแบบนี้ก็ได้น่ะครับ

if((totalamount-(int)totalamount)>0){
(int)totalamount++;
}

อธิบายนะครับ
totalamount-(int)totalamount
totalamount ค่าในตัวแปลนี้จะได้ 53.34 นะครับ
(int)totalamount แต่ท่อนนี้จะได้แค่ 53 ครับ เพราะว่า เมื่อห่อหุ้มให้เป็นintแล้วจะตัดจุดทศนิยมทิ้งให้เหลือแต่จำนวนเต็ม
(totalamount-(int)totalamount)>0
(53.34-53)>0 ในท่อนนี้จะหมายความว่าเมื่อได้เศษสตางศ์ 0.34 จรึงมากกว่า0
(int)totalamount++ จึงทำให้ 53บวกเข้าไปอีกหนึ่ง ก็เป็น54

ลองดูเทคนิคนี้ดูนะคัรบง่ายๆ ไม่ต้องปรับเปลี่ยนอะไรมากมาย
ผมอาจจะอธิบายไม่ชัดเจน เพราะมือใหม่น่ะครับ
จะพยายามฝึกฟรือไปเรื่อยๆ

ประเดิมบทความแรก

วันนี้ฤกษ์ดีได้ประเดิมเรื่องแรกกันเลยนะครับ หลังจากสมัครทิ้งไว้นานมากแล้ว แต่ก็ยังไม่มีเวลา+ไม่รู้จะเขียนบทความอะไร หบังจากปวดหัวกับการอ่านแคลคูลัส ก็เลยหาอะไรแก้เครียดทำกัน

บล็อกอันนี้ต้องขอขอบคุณ อ.วิศรุต ไวโสภา มากเลยครับ ที่ทำให้เกิดไอเดีย ที่จะเอาเทคนิคการเขียนโปรแกรมหรือเรื่องอื่นๆ มานำเสนอแด่รุ่นพี่ เพื่อนๆ และรุ่นน้องชาว
http://www.it.tl.ac.th กันนะครับ ได้เจออะไรดีๆมา จะนำเสนอจะพยายามรวบรวมมานำเสนอกันนะครับ

สุดท้ายนี้ผมต้องขอขอบคุณอาจารย์ที่แผนกไอทีและอิเล็กทรอนิกส์ที่ได้ถ่ายทอดวิชาความรู้ที่ดีซึ่งเปรียบเสมือนเมล็ดมะม่วงกระล่อนซึ่งเป็นพื้นฐานอย่างดีในการต่อยอด และผมหวังว่า สิ่งที่ผมได้รับ ได้รู้มาและได้นำมารวบรวมมาเผยแพร่มาจะเป็นประโยชน์ แก่ทุกคนที่สนใจไม่มากก็น้อย ผมมีคติประจำใจอยู่ข้อนึงที่ท่าน อ.วิศรุต ได้เคยบอกกับผมว่า "ยิ่งให้คนอื่นมากเท่าไหร่ ก็จะได้รับกลับมาเท่านั้น"




mSkyline