วิธีการแปลงจำนวนลบเป็นบวก?


103

ฉันจะแปลงจำนวนลบเป็นบวกใน Python ได้อย่างไร (และคิดบวกไว้)


การอ่านคำถามเดิม (หรือการกลับไปใช้วลีเดิมหากการแก้ไขได้รับการอนุมัติ) ยังไม่ชัดเจนว่าประโยคในวงเล็บของคุณควรจะหมายถึงอะไร คุณหมายความว่าคุณต้องการเก็บสำเนาต้นฉบับไว้หรือคุณหมายความว่าคุณต้องการปล่อยให้ค่าบวกไม่ได้รับการแก้ไข?
jpmc26

คำตอบ:


217
>>> n = -42
>>> -n       # if you know n is negative
42
>>> abs(n)   # for any n
42

อย่าลืมที่จะตรวจสอบเอกสาร


8
นอกจากนี้ยังมีmax(n, -n)(เป็นทางเลือกอื่น :)
tzot

9
maxเป็นเคล็ดลับเรียบร้อย แต่โดยเฉพาะอย่างยิ่งในหลามจะมีค่าใช้จ่ายไปซึ่งจะเป็น 30% absช้ากว่า ดังนั้นคุณควรจะชอบabsมากกว่าmax
user1767754

60

เพียงแค่คูณด้วย -1 ได้ผลทั้งสองวิธี ...

>>> -10 * -1
10
>>> 10 * -1
-10

2
นี่คงเป็นทางออกที่ง่ายที่สุดที่ฉันเดา วิธีนี้จะแปลงค่าลบเป็นบวกและค่าบวกเป็นลบ
Naveen Raju

1
คณิตศาสตร์คลาสสิก
Macintosh Fan

21

หาก"เก็บค่าบวกไว้"หมายความว่าคุณต้องการให้จำนวนบวกอยู่ในเชิงบวก แต่ยังแปลงจำนวนลบเป็นค่าบวกให้ใช้abs():

>>> abs(-1)
1
>>> abs(1)
1


4
In [6]: x = -2
In [7]: x
Out[7]: -2

In [8]: abs(x)
Out[8]: 2

ตามความเป็นจริงabsจะคืนค่าabsolute valueของจำนวนใด ๆ ค่าสัมบูรณ์เป็นจำนวนที่ไม่เป็นลบเสมอ


2
abs (0) ส่งคืนจำนวนบวกหรือไม่? :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.