จำนวนทศนิยม: Double กับ Float
เลือกใช้ Double หรือ Float และจัดการความแม่นยำ
จำนวนทศนิยม: Double กับ Float เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
ชนิดเลขทศนิยม
Swift มีชนิดเลขทศนิยมหลักสองชนิด ได้แก่ Double ขนาด 64 บิต และ Float ขนาด 32 บิต ทั้งสองชนิดใช้แทนตัวเลขที่มีส่วนเศษได้
let d: Double = 3.14159
let f: Float = 3.14159
print(d, f)ชนิดความละเอียดสองเท่าเป็นค่าเริ่มต้น
เมื่อคุณเขียนค่าคงที่ทศนิยมโดยไม่ระบุชนิดข้อมูล Swift จะอนุมานเป็น Double ชนิดความละเอียดสองเท่าให้ความแม่นยำมากกว่า Float
let value = 2.5
print(type(of: value))ความแตกต่างด้านความแม่นยำ
Double เก็บเลขทศนิยมสำคัญได้ประมาณ 15 หลัก ส่วน Float เก็บได้เพียงประมาณ 6 หรือ 7 หลัก ค่าคงที่เดียวกันจึงอาจแสดงผลแตกต่างกัน
let d: Double = 0.1234567890123456
let f: Float = 0.1234567890123456
print(d)
print(f)ค่าคงที่ pi
ทั้งสองชนิดมี .pi โดย Double.pi มีความแม่นยำมากกว่า Float.pi
print(Double.pi)
print(Float.pi)เลขคณิตของเลขทศนิยม
คุณสามารถบวก ลบ คูณ และหารเลขทศนิยมได้ การหารจะเก็บผลลัพธ์ที่เป็นส่วนเศษไว้
let radius = 2.0
let area = Double.pi * radius * radius
print("Area:", area)เมธอดการปัดเศษ
ค่าทศนิยมมี .rounded() รวมถึงรูปแบบอื่น เช่น .rounded(.down) และ .rounded(.up)
let x = 2.7
print(x.rounded())
print(x.rounded(.down))
print(x.rounded(.up))ปัดลง ปัดขึ้น และตัดเศษ
กฎการปัดเศษช่วยให้คุณปัดลงเข้าหาอนันต์ลบ ปัดขึ้นเข้าหาอนันต์บวก หรือตัดเศษเข้าหา zero ได้
let n = -2.3
print(n.rounded(.down))
print(n.rounded(.up))
print(n.rounded(.towardZero))ความคลาดเคลื่อนของเลขทศนิยม
เนื่องจากการแทนค่าแบบเลขฐานสอง เลขทศนิยมบางค่าจึงไม่สามารถจัดเก็บได้อย่างแม่นยำพอดี 0.1 + 0.2 จึงไม่เท่ากับ 0.3 อย่างแม่นยำดังที่ทราบกันดี
let sum = 0.1 + 0.2
print(sum)
print(sum == 0.3)การเปรียบเทียบจำนวนจุดลอยตัวอย่างปลอดภัย
แทนที่จะเปรียบเทียบความเท่ากันแบบตรงตัว ให้เปรียบเทียบจำนวนจุดลอยตัวภายในค่าความคลาดเคลื่อนขนาดเล็ก (เอปไซลอน)
let sum = 0.1 + 0.2
let close = abs(sum - 0.3) < 0.0001
print("Close enough:", close)ค่าพิเศษของจำนวนจุดลอยตัว
ชนิดข้อมูลแบบจุดลอยตัวสามารถแทนค่า infinity และ nan (ไม่ใช่ตัวเลข) ได้ โปรดตรวจสอบด้วย .isInfinite และ .isNaN
let inf = Double.infinity
let notNum = Double.nan
print(inf.isInfinite)
print(notNum.isNaN)การเลือกใช้ชนิดทศนิยม 64 บิตหรือ 32 บิต
โดยทั่วไปควรเลือก Double เพื่อความแม่นยำในการคำนวณทางคณิตศาสตร์ ใช้ Float เฉพาะเมื่อหน่วยความจำหรือฮาร์ดแวร์เฉพาะทาง เช่น กราฟิก ต้องการค่าแบบ 32 บิต
let preciseAvg: Double = (10.0 + 3.0) / 4.0
print(preciseAvg)ตรวจสอบอย่างรวดเร็ว
โปรดทบทวนว่า Swift อนุมานชนิดใดให้กับค่าคงที่แบบเลขทศนิยม
สรุป: ทศนิยม 64 บิตเทียบกับ 32 บิต
คุณได้เรียนรู้ว่า Double (64 บิต ซึ่งเป็นค่าเริ่มต้น) มีความแม่นยำมากกว่า Float (32 บิต) ทั้งสองชนิดมี .pi และเมธอดสำหรับการปัดเศษ และการคำนวณแบบจุดลอยตัวไม่แม่นยำสมบูรณ์ จึงควรเปรียบเทียบด้วยค่าความคลาดเคลื่อนแทน ==
let a = 0.1 + 0.2
print("Raw:", a)
print("Rounded:", a.rounded())
print("Within tolerance of 0.3:", abs(a - 0.3) < 1e-9)เรียนรู้ Swift ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 122
- บทเรียน
- 409
คำถามที่พบบ่อย
บทเรียน “จำนวนทศนิยม: Double กับ Float” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “จำนวนทศนิยม: Double กับ Float” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “จำนวนทศนิยม: Double กับ Float”
เลือกใช้ Double หรือ Float และจัดการความแม่นยำ คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “จำนวนทศนิยม: Double กับ Float” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ชนิดจำนวนเต็มและช่วงค่า
- จำนวนทศนิยม: Double กับ Float
- การแปลงชนิดตัวเลขอย่างชัดเจน
- ค่าคงที่ตัวเลขและขีดล่าง