Ruby: Ubah angka negatif menjadi angka positif?


105

Apa cara paling sederhana untuk mengubah angka negatif menjadi positif dengan ruby?

yaitu. Ubah "-300" menjadi "300"

Jawaban:


268

Menggunakan absakan mengembalikan nilai absolut sebuah angka

-300.abs  # 300
300.abs   # 300

3
jawaban saya hanya untuk bilangan negatif, jika Anda harus selalu memiliki nilai absolut maka ini pasti cara yang lebih baik.
Brandon Bodnar

27

Letakkan tanda negatif di depannya.

>> --300
=> 300
>> x = -300
=> -300
>> -x
=> 300

6
Perhatikan saja jika angkanya sudah positif, ini akan menjadikannya negatif.
Sasha Chedygov

Ya. Memperjelas bahwa dalam komentar saya untuk jawaban yang diterima di atas.
Brandon Bodnar

8
itu bukan jenius atau bukan kegilaan.
Stephen Nguyen

mengapa suara negatif? ini berubah negatif menjadi positif seperti yang diminta OP. #absdan -merupakan fitur berbeda dengan perilaku yang sama untuk input / output yang diminta. Jika itu karena yang tidak diinginkan +-> -, itu tidak lebih dari asumsi, karena itu tidak tercakup oleh OP.
Andre Figueiredo

15

Bukankah lebih mudah mengalikannya dengan yang negatif?

x * -1

Dengan begitu Anda bisa bolak-balik.


Saya suka menggunakan ini untuk kejelasan, karena menggunakan tanda - terkadang mudah terlewatkan
Matthias

1
Perlu diingat Anda dapat menggunakan singkatan x *= -1jika Anda ingin menyimpan nilai baru ...
SRack

Berdasarkan prinsip yang sama, kita bahkan dapat membagi bilangan negatif apa pun dengan -1. Namun, saya hanya bertanya-tanya apa manfaat menggunakan metode over abs seperti yang disebutkan oleh Yacoby
Apurva Mayank

1
abs mengembalikan nilai absolut. Jika hanya itu yang Anda inginkan, seperti yang dilakukan OP, tidak masalah. Tetapi bagaimana jika Anda perlu bolak-balik?
absynthe minded web smith

@ApurvaMayank apa manfaat menggunakan absini? OP tidak menyebutkan, tetapi dia dapat mengubah positif menjadi negatif juga atau tetap positif .. Anda tidak dapat mengasumsikan satu tanpa disebutkan.
Andre Figueiredo
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.