อยากจะบอกว่าเทคนิคนี้ก็ไม่ได้ใหญ่หลวงอะไร แต่มันเป็นเทคนิคเล็กๆน้อยๆน่ะครับ
ด้วยปัญหาที่ว่า เวลาเราประกาศตัวแปลเป็น 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
ลองดูเทคนิคนี้ดูนะคัรบง่ายๆ ไม่ต้องปรับเปลี่ยนอะไรมากมาย
ผมอาจจะอธิบายไม่ชัดเจน เพราะมือใหม่น่ะครับ
จะพยายามฝึกฟรือไปเรื่อยๆ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น