Convert float to int
การแปลงค่าจาก float เป็น int ถ้าเราใช้ function int.Parse() จะใช้ overhead สูงเพราะ parameter ที่รับเข้าไปจะต้องเป็น string ตัวอย่างเช่น int.Parse(floatValue.ToString()); มันคือการเอา float -> string -> int ซึงเราไม่ต้องการ เราต้องการ float -> int
มีอีกทางเลือกคือใช้ Convert.ToInt32() แต่การเรียกใช้ method นี้จะเป็นการ เรียกใช้ method ของ CLR ของ .net ซึ่งผู้ที่เขียน C# จะดูว่ามันไม่ค่อย native C# ซะเท่าไร่ เลยขอใช้วิธีการ boxing ธรรมดานี่แหละ โดยใช่ function ปัดทศนิยมเข้ามาช่วย ดูแล้วมันเข้าใจง่ายดี (คราวหน้าจะมาวัด Performance กัน)
มีอีกทางเลือกคือใช้ Convert.ToInt32() แต่การเรียกใช้ method นี้จะเป็นการ เรียกใช้ method ของ CLR ของ .net ซึ่งผู้ที่เขียน C# จะดูว่ามันไม่ค่อย native C# ซะเท่าไร่ เลยขอใช้วิธีการ boxing ธรรมดานี่แหละ โดยใช่ function ปัดทศนิยมเข้ามาช่วย ดูแล้วมันเข้าใจง่ายดี (คราวหน้าจะมาวัด Performance กัน)
- float floatValue = 15.2F
- int intValue = (int)Math.Round(floatValue) // ปัดขึ้น
- // หรือ
- int intValue = (int)Math.Floor(floatValue) // ปัดลง
แล้วถ้าต้องการตัดทศนิยมทิ้งหล่ะครับ คือสมมุติ 10.4444 แล้วผมต้องการแค่ 10 ทำยังไงครับ
ตอบลบMath.Round หรือ Math.Celling ครับเป้นการปัดเศษเลย
ตอบลบ