มีวิธีการรับค่าสัมบูรณ์จากจำนวนเต็ม?
ตัวอย่างเช่น
-8
to
8
ฉันได้ลองใช้ UInt () โดยสมมติว่ามันจะแปลงค่า Int ให้เป็นค่าที่ไม่ได้ลงนาม แต่ไม่ได้ผล
มีวิธีการรับค่าสัมบูรณ์จากจำนวนเต็ม?
ตัวอย่างเช่น
-8
to
8
ฉันได้ลองใช้ UInt () โดยสมมติว่ามันจะแปลงค่า Int ให้เป็นค่าที่ไม่ได้ลงนาม แต่ไม่ได้ผล
คำตอบ:
abs()
ฟังก์ชั่นมาตรฐานใช้งานได้ดีที่นี่:
let c = -8
print(abs(c))
// 8
ด้วย Swift 5 คุณสามารถใช้หนึ่งในสองวิธีต่อไปนี้เพื่อแปลงจำนวนเต็มเป็นค่าสัมบูรณ์
Int
จากmagnitude
คุณสมบัติInt
มีmagnitude
คุณสมบัติ magnitude
มีการประกาศดังต่อไปนี้:
var magnitude: UInt { get }
สำหรับค่าตัวเลขใด ๆ
x
, เป็นค่าสัมบูรณ์ของx.magnitude
x
ข้อมูลโค้ดต่อไปนี้แสดงวิธีใช้magnitude
คุณสมบัติเพื่อรับค่าสัมบูรณ์ในInt
อินสแตนซ์:
let value = -5
print(value.magnitude) // prints: 5
Int
fromabs(_:)
Swift มีฟังก์ชั่นตัวเลขทั่วโลกที่เรียกว่าabs(_:)
วิธีการ abs(_:)
มีการประกาศดังต่อไปนี้:
func abs<T>(_ x: T) -> T where T : Comparable, T : SignedNumeric
ส่งคืนค่าสัมบูรณ์ของตัวเลขที่กำหนด
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการใช้abs(_:)
ฟังก์ชั่นทั่วโลกเพื่อรับค่าสัมบูรณ์ในInt
อินสแตนซ์:
let value = -5
print(abs(value)) // prints: 5
abs(Int8.min)
ไม่สามารถทำงานได้
หากคุณต้องการบังคับให้จำนวนเปลี่ยนหรือทำให้เป็นบวก
นี่คือวิธี:
abs() for int
fabs() for double
fabsf() for float
หากคุณต้องการได้รับค่าสัมบูรณ์จาก double หรือ Int ใช้fabs
func:
var c = -12.09
print(fabs(c)) // 12.09
c = -6
print(fabs(c)) // 6
fabs
ขอโทษด้วย