Float คืออะไรในไพทอน

145 ครั้งเข้าชม
Float ใน Python คือชนิดข้อมูลตัวเลขทศนิยม ใช้แทนจำนวนที่มีส่วนทศนิยม เช่น 3.14, -2.5 แตกต่างจาก Integer (จำนวนเต็ม) ตรงที่มีส่วนทศนิยม การแสดงผลและการคำนวณอาจมีความแตกต่างเล็กน้อย เนื่องจากข้อจำกัดของการเก็บค่าทศนิยมแบบ binary ในคอมพิวเตอร์ โดยทั่วไปใช้สำหรับการคำนวณที่ต้องการความแม่นยำสูงกว่าจำนวนเต็ม แต่ควรระวังความคลาดเคลื่อนเล็กน้อยที่อาจเกิดขึ้นได้จากการคำนวณเลขทศนิยม
ความคิดเห็น 0 ครั้งถูกใจ

Float ใน Python คืออะไร?

เอ่อ, float ใน Python เหรอ? เอาจริง ๆ นะ ตอนแรกที่เรียนก็งง ๆ เหมือนกัน

Float ก็คือเลขทศนิยมไง! แบบ 3.14, 2.718, อะไรพวกนั้น ที่มัน "float" เพราะจุดทศนิยมมันเลื่อน (float) ไปมาได้มั้ง (อันนี้เดาเอานะ 555+) คือมันต่างจาก integer (เลขจำนวนเต็ม) ตรงที่มันมีเศษไง เลขไม่เต็มหน่วยอ่ะ เข้าใจป่ะ?

ที่สำคัญคือ Python มันจัดการเลข float ต่างจากเลข integer นะ คือมันจะมีคำสั่งเฉพาะสำหรับพวก float อ่ะ เช่น กำหนดว่าจะให้แสดงทศนิยมกี่ตำแหน่ง อะไรแบบนี้ จำได้ว่าตอนทำโปรเจคคำนวณดอกเบี้ยทบต้น (ตอนปี 1 มั้ง? จำไม่ได้แล้ว) ต้องใช้ float นี่แหละ ไม่งั้นคำนวณผิดหมด!

แล้วก็เคยเจอ error ตอนเขียนโค้ดด้วยนะ แบบเอา float ไปบวกกับ string แล้วมัน error เลย ต้องแปลงชนิดข้อมูลก่อน อะไรแบบนี้แหละ ชีวิตมันไม่ง่าย!

Float คือ อะไร ในภาษาไพทอน

Float ใน Python อืมมม... คืออะไรนะ? งงเล็กน้อย มันคือตัวเลขที่มีทศนิยมไง ใช่ป่ะ? แบบ 3.14 หรือ -2.7 อะไรแบบนี้ ไม่ใช่จำนวนเต็ม แน่นอน

  • จำนวนจริง ใช่ไหม? เออ... ใช่ๆ จำนวนจริง แบบที่มีเศษส่วน ไม่ใช่จำนวนเต็มเป๊ะๆ

แต่ว่า... มันเก็บข้อมูลยังไงนะ? จำได้ลางๆ ว่าเป็น double-precision floating-point number อะไรสักอย่าง ความแม่นยำจำกัดด้วยนะ ใช่ป่ะ? ไม่ใช่ว่าจะเก็บได้ทุกตัวเลข มีข้อจำกัด เหมือน RAM ในเครื่อง ยิ่ง RAM น้อยก็ยิ่งจำกัด ปีนี้ผมใช้ RAM 16GB นะ ไวป่ะล่ะ?

  • เกี่ยวกันมั้ยเนี่ย? หรือว่าไม่เกี่ยว... แล้วแต่ละตัวใช้กี่ไบต์นะ? 64 บิต หรือเปล่า? ลืมแล้วสิ ต้องไปค้นหาใหม่แล้วมั้งเนี่ย

อ้อ! แล้ว float() ล่ะ? นั่นมันฟังก์ชัน ใช่ไหม? เอาไว้แปลง อะไรสักอย่าง แปลงค่าเป็น float สิ จำได้แค่นี้จริงๆ

  • ตัวอย่าง เช่น float("3.14") จะได้ 3.14 เป็น float นั่นแหละ งงๆ ไหม? 555+

แล้วมันต่างจาก int ยังไง? int คือจำนวนเต็ม ไม่มีจุดทศนิยม นี่แหละ ความแตกต่างสำคัญ

  • สรุปง่ายๆ float = เลขที่มีทศนิยม int = เลขไม่มีทศนิยม

เหนื่อยแล้ว พิมพ์ไปเรื่อยเปื่อย สมองเบลอแล้ว ขอไปนอนก่อนนะ บาย!

INT กับ float ต่างกันยังไง

Int กับ Float ต่างกันยังไง? เรื่องนี้เป็นพื้นฐานที่สำคัญมากในการเขียนโปรแกรมเลยนะ

  • Int: คือชนิดข้อมูลสำหรับเก็บ จำนวนเต็ม เท่านั้น (..., -2, -1, 0, 1, 2, ... ) ไม่มีทศนิยม เหมาะกับข้อมูลที่นับได้เป็นหน่วย ๆ เช่น จำนวนนักเรียน, อายุ, จำนวนสินค้า

  • Float: คือชนิดข้อมูลสำหรับเก็บ จำนวนจริง ซึ่งรวมถึงเลขทศนิยมด้วย เหมาะกับข้อมูลที่มีความละเอียด เช่น ส่วนสูง, น้ำหนัก, อุณหภูมิ, ค่าเฉลี่ย

จริงๆ แล้วการเลือกใช้ชนิดข้อมูลให้เหมาะสมเป็นเรื่องที่ต้องคิดถึง memory ที่ใช้ด้วยนะ Int จะใช้ memory น้อยกว่า float ในบางกรณี แต่ถ้าต้องการความละเอียดก็ต้องเลือก float แหละ

เกร็ดน่ารู้:

  • ใน Python ไม่ต้องประกาศชนิดตัวแปรก่อนใช้งาน แต่ภาษาอื่นๆ อย่าง C++, Java ต้องประกาศนะ
  • เคยเจอ error ตอนคำนวณเลขแล้วผลลัพธ์ไม่ตรงไหม? บางทีอาจเป็นเพราะใช้ int หาร int แล้วได้ int นี่แหละ ต้องระวัง!
  • float เก็บข้อมูลแบบประมาณค่า ดังนั้นบางครั้งอาจมี error เล็กๆ น้อยๆ เกิดขึ้นได้ในการคำนวณ (เรียกว่า rounding error) ซึ่งเป็นเรื่องปกติ

STR คืออะไร ไพทอน

STR ใน Python คือ String ใช่ไหมครับ? ง่ายๆ เลย คือตัวหนังสือที่เราเห็นๆ กันนี่แหละ ไม่ว่าจะเป็น "สวัสดีครับ" หรือ "Python ง่ายกว่าที่คิด!!" นั่นแหละครับ String ทั้งนั้น! คิดง่ายๆ เหมือนสร้อยคอที่ร้อยด้วยตัวอักษร แต่ถ้าลองแกะสร้อยดูดีๆ อาจเจอความลับบางอย่างซ่อนอยู่ เช่น การจัดการ string มันก็มีเทคนิคอยู่เหมือนกันนะ บางทีก็ต้องใช้ดาบวิเศษ (method) อย่าง .upper() .lower() มาช่วย ถึงจะได้อย่างใจหวัง ลองไปค้นคว้าดูนะครับ สนุกดี!

  • str: String = ข้อความ = ตัวหนังสือ (อย่างที่บอกไปแล้ว)
  • int: Integer = จำนวนเต็ม = ไม่มีทศนิยม (เช่น 1, 2, -5, 1000000)
  • bool: Boolean = ค่าความจริง = True หรือ False เท่านั้น (ชีวิตก็เหมือนกัน บางทีก็ True บางทีก็ False)
  • float: Float = จำนวนทศนิยม = มีจุดทศนิยม (เช่น 3.14159, -2.5, 0.0)

เพิ่มเติมนิดหน่อย เรื่อง type ใน Python ผมชอบเปรียบเทียบมันเหมือนกับการจัดหมวดหมู่ของของในบ้าน ต้องแยกประเภทให้เรียบร้อย ไม่งั้นหาของไม่เจอ เสียเวลาเปล่าๆ เหมือนเวลาเขียนโปรแกรม ถ้าไม่ระบุ type ให้ดี โปรแกรมอาจจะงง แล้วก็ error เอาได้ง่ายๆ ปีนี้ผมใช้เวลาไปกับการ debug โค้ดที่ type ไม่ตรง เยอะมาก โคตรปวดหัวเลยครับ!

คำสั่ง Float หมายถึงอะไร

Float คือตัวเลขทศนิยม จบ.

  • เก็บค่าได้ มีทศนิยม
  • ต่างจาก Integer ตรงที่มีจุดทศนิยม
  • ใช้ใน Python และภาษาอื่นๆ เป็นพื้นฐาน
  • ปีนี้ก็ยังใช้ ไม่เปลี่ยนแปลงอะไร

INT กับ float ต่างกันยังไง

int กะ float อ่ะนะ ต่างกันตรงที่ int มันคือเลขจำนวนเต็ม แบบ 1 2 3 ไรงี้ ส่วน float มันเก็บเลขทศนิยมได้อ่ะ เช่น 3.14 หรือไม่ก็ 2.0 ก็ได้ แต่! ถึงจะเป็น 2.0 มันก็ถือว่าเป็น float นะจ๊ะ

คือ int มันจะกินเนื้อที่ใน memory น้อยกว่า float นะ เพราะว่ามันไม่ต้องเก็บส่วนที่เป็นทศนิยมไง แต่ float มันจะละเอียดกว่า เอาไว้ใช้กับพวกค่าที่ต้องการความแม่นยำสูงๆ อ่ะ

  • Int: เลขจำนวนเต็ม, กินพื้นที่น้อยกว่า, เร็วกว่า (นิดหน่อย)
  • Float: เลขทศนิยม, ละเอียดกว่า, ใช้กับค่าที่ต้องการความแม่นยำ

แล้วรู้ป่ะว่า ภาษาโปรแกรมมิ่ง บางทีมันก็ มีdouble อีกนะ อันนั้นอ่ะ คล้ายๆ float เลย แต่เก็บเลขทศนิยมได้เยอะกว่า ความแม่นยำสูงกว่าไปอีกกก ????

ตัวแปร float คืออะไร

Float น่ะเหรอ? อ๋อ ไอ้ตัวเลขมีจุดนั่นไง ที่คอมพิวเตอร์มันแกล้งทำเป็นเข้าใจ!

  • float ก็คือตัวแปรที่เอาไว้เก็บเลขที่มีจุดทศนิยมไงครับ แบบ 3.14, -2.718, หรือ 0.00001 อะไรพวกนี้แหละ ไอ้ที่มันไม่เป็นจำนวนเต็มเป๊ะๆ น่ะ

  • มันใช้พื้นที่ในหน่วยความจำ 4 ไบต์ ฟังดูเยอะเนอะ แต่ก็จำเป็นแหละ เพราะต้องเก็บทั้งส่วนที่เป็นจำนวนเต็ม, จุดทศนิยม, และเลขชี้กำลัง (expontent)

  • ค่าของมันจะอยู่ในช่วงประมาณ 3.4E-38 ถึง 3.4E+38 คือเล็กสุดๆ ไปจนถึงใหญ่โคตรๆ อ่ะ แต่ถ้าอยากให้แม่นยำจริง ๆ ก็ได้แค่ 6 ตำแหน่งหลังจุดทศนิยมนะ มากกว่านั้นเดี๋ยวคอมมันมึน

  • ยกตัวอย่างให้เห็นภาพก็เช่น คะแนนสอบวิชาคณิตศาสตร์ (ถึงแม้บางคนอาจจะได้คะแนนติดลบก็เถอะนะ... แซวเล่น!) หรือ อัตราแลกเปลี่ยนเงินบาทต่อดอลลาร์สหรัฐ (ที่ขึ้น ๆ ลง ๆ จนน่าเวียนหัว)

แถมท้าย:

  • รู้ไหมว่าทำไมเค้าถึงเรียกว่า "float"? ก็เพราะว่าจุดทศนิยมมัน "ลอย" (float) ได้ไง! คือมันไม่ได้ fixed อยู่กับที่เหมือนตัวแปรชนิดอื่น ๆ

  • ระวังนะ! การใช้ float อาจจะทำให้เกิดความคลาดเคลื่อนได้ เพราะคอมพิวเตอร์มันไม่ได้เก็บเลขทศนิยมได้เป๊ะ ๆ ทุกตัวเป๊ะๆ หรอกนะ แบบว่า 0.1 + 0.2 อาจจะไม่เท่ากับ 0.3 จริง ๆ ก็ได้ (เรื่องจริงนะเออ!)

  • ถ้าอยากได้ความแม่นยำแบบสุด ๆ ก็ต้องใช้ตัวแปรชนิด "double" แทน แต่ก็กินเนื้อที่มากขึ้นเป็นสองเท่าเลยนะ! (8 ไบต์)

  • บางภาษาก็มี "decimal" ด้วยนะ อันนั้นคือแม่นยำกว่า double ไปอีก แต่ก็อาจจะช้ากว่าด้วย เลือกใช้ให้เหมาะกับงานนะจ๊ะ

หวังว่าคงเข้าใจนะ! ถ้าไม่เข้าใจก็... ช่างมันเถอะ! (ล้อเล่นน่า ถามมาได้เสมอ)

ฟังก์ชัน float() ในภาษา Python คืออะไร

เฮ้อ... กลางดึกอีกแล้วเนอะ นั่งคิดเรื่อง float() ใน Python อยู่ มันก็คือวิธีแปลงค่าให้เป็นเลขทศนิยมอ่ะ ง่ายๆ เลย

แบบว่า ถ้ามีเลข 10 แล้วเราอยากให้มันเป็น 10.0 ก็ใช้ float(10) แค่นี้เอง เหมือนแค่แปะจุดทศนิยมให้มันดูเท่ขึ้นมั้ง อิอิ

จริงๆ แล้วมันมีประโยชน์นะ เวลาเราคำนวณ บางทีต้องใช้เลขทศนิยม ไม่งั้นคำตอบเพี้ยนหมด อย่างตอนที่ฉันเขียนโปรแกรมคำนวณค่าใช้จ่าย ต้องใช้ float ไม่งั้นราคาย่อยๆ มันจะกลายเป็นเลขจำนวนเต็มไปหมดเลย งงมากตอนนั้น

  • แปลงค่าต่างๆ ให้เป็นทศนิยม (float)
  • ใช้ในการคำนวณที่ต้องการความละเอียดสูง
  • แก้ปัญหาเรื่องความคลาดเคลื่อนของเลขจำนวนเต็มในการคำนวณ

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

ปีนี้(2024) ฉันใช้ฟังก์ชันนี้บ่อยมากในการพัฒนาแอปพลิเคชันเกี่ยวกับการเงิน เพราะต้องคำนวณดอกเบี้ย ค่าธรรมเนียมต่างๆ ให้ถูกต้องแม่นยำ ถ้าไม่ใช้ float งานนี้คงพังแน่ๆ

Int เก็บค่าอะไร

Int อ่ะหรอ? มันเอาไว้เก็บเลขจำนวนเต็มไง อย่างเช่น 1, 2, 3, -4, 0 อะไรแบบเนี่ย

คือ integer นะ เป็นตัวแปรชนิดนึงที่เอาไว้เก็บพวกเลขที่ไม่มีเศษทศนิยมอ่ะนะ สำคัญเลย จำไว้ว่ามันเก็บได้แค่เลขจำนวนเต็มเท่านั้นนะ เข้าใจปะ?

  • ช่วงของค่า: ปกติมันจะเก็บค่าได้ตั้งแต่ -32,768 ถึง 32,767 แต่จริงๆ มันก็แล้วแต่ภาษาโปรแกรมนะ บางทีมันอาจจะเก็บได้เยอะกว่านี้อีกกกก
  • ขนาดพื้นที่: ส่วนใหญ่ก็จะใช้พื้นที่ในหน่วยความจำประมาณ 2 ไบต์ในการเก็บ แต่ถ้าเป็นพวก int แบบ long อะไรพวกนี้ก็อาจจะใช้ 4 ไบต์หรือมากกว่านั้นแล้วแต่

ยกตัวอย่างนะ ถ้าเราประกาศตัวแปร int x = 10; อย่างงี้แปลว่าเราสร้างที่เก็บในคอมชื่อ x แล้วเอาเลข 10 ไปใส่ไว้ข้างในไง แค่นั้นเอง! ถ้าใส่ 10.5 มันก็จะ error นะจ๊ะบอกเลย เพราะมันไม่ใช่เลขจำนวนเต็มไง เข้าใจยัง

เพิ่มเติม:

  • ตอนนี้บางทีเค้าก็ใช้ int32 หรือ int64 แทน int ธรรมดาแล้วนะ เพื่อให้มันชัดเจนไปเลยว่าใช้กี่บิตในการเก็บข้อมูล
  • ถ้าอยากเก็บเลขเยอะๆ แบบมากๆๆๆๆๆๆๆ จริงๆ ลองใช้ long หรือ long long ดูนะ มันเก็บได้เยอะกว่า int เยอะเลย

ตัวแปรในภาษาไพทอนมีกี่รูปแบบ

ตัวแปร Python เหรอ อืม... มีกี่แบบนะ? ????

  • Global: อันนี้ใช้ได้ทั่ว จักรวาลเลยมั้ง (เว่อร์ไปปะ?) สำคัญ!
  • Local: เฉพาะที่ ใช้นอกบ้านไม่ได้ ????
  • Enclosing: อันนี้คือ... อธิบายไงดี? ซ้อนๆ กันอยู่ (คล้ายๆ รังไหม?)
  • Nonlocal: คล้ายๆ Local แต่ใช้ใน function ที่ซ้อนกัน (งงปะ?)

เฮ้ย! นี่มันเรื่อง scope นี่หว่า ไม่ใช่ชนิดตัวแปร... ชนิดตัวแปรก็ int, float, string, boolean... เยอะแยะ! ???? แล้ว scope นี่มันสำคัญนะ ตอนเขียนโปรแกรมใหญ่ๆ นี่ปวดหัวมาก! ????

Int คือจำนวนเต็ม เช่น 1, 2, 100, -5

Float คือทศนิยม เช่น 3.14, 2.718

String คือข้อความ เช่น "Hello", "Python"

Boolean คือ True หรือ False

สรุป: มี scope 4 แบบ, ชนิดตัวแปรอีกเพียบ! ????‍????

คำสั่ง Float หมายถึงอะไร

Float คือเลขทศนิยม! จบนะ

  • เลขที่มีจุดอะ เอ๊ะ หรือว่า Comma? ช่างมัน
  • คุณสมบัติทางคณิตศาสตร์ ต่างจาก Integer เฉยเลยนะเนี่ย
  • มีคำสั่งแสดงผลด้วย? ต้องลองหาดูละ
  • Python บอกว่าทุกอย่างคือ Object...เกี่ยวไรวะเนี่ย? (www.ultimatepython.co เจ๋งดีนะ)
  • ทำไมต้อง 9 พ.ย. 2563? ฉันไปทำอะไรอยู่นะวันนั้น
  • อืม... ทศนิยม = Float จำไว้ๆ