Ruby: Negatif sayıyı pozitif sayıya değiştirmek mi?


105

Ruby ile negatif bir sayıyı pozitife çevirmenin en basit yolu nedir?

yani. "-300" ü "300" olarak değiştirin

Yanıtlar:


269

Kullanmak bir sayının mutlak değeriniabs döndürür

-300.abs  # 300
300.abs   # 300

3
Cevabım sadece negatif sayılar için, her zaman mutlak değere sahip olmanız gerekiyorsa, bu kesinlikle daha iyi bir yoldur.
— Brandon Bodnar

27

Önüne negatif bir işaret koyun.

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

6
Sadece sayı zaten pozitifse, bunun negatif yapacağını unutmayın.
— Sasha Chedygov

Evet. Yukarıdaki kabul edilen cevaba yaptığım yorumda açıklığa kavuşturuldu.
— Brandon Bodnar

8
ya deha ya da delilik değil.
— Stephen Nguyen

neden olumsuz oylar? bu, OP'nin sorduğu gibi negatifi olumluya çevirir. #absve -istenen girdi / çıktı için aynı davranışa sahip farklı özelliklerdir. Bu istenmeyen bir +-> yüzünden ise -, bu bir varsayımdan başka bir şey değildir, çünkü bu, OP tarafından kapsanmamıştır.
— Andre Figueiredo

15

Negatif bir ile çarpmak daha kolay olmaz mıydı?

x * -1

Bu şekilde ileri geri gidebilirsiniz.


Bunu netlik için kullanmayı seviyorum, çünkü - işaretini kullanmak bazen kolayca gözden
— Matthias

1
x *= -1Yeni değeri saklamak istiyorsanız kısaltmayı kullanabileceğinizi hatırlamakta
— fayda var

Aynı prensibe dayanarak herhangi bir negatif sayıyı -1'e bile bölebiliriz. Bununla birlikte, Yacoby
— Apurva Mayank

1
abs, mutlak bir değer döndürür. Tüm istediğiniz buysa, OP'nin yaptığı gibi, sorun değil. Peki ya ileri geri gitmeniz gerekirse?
— absynthe minded web smith

@ApurvaMayank absbunu kullanmanın faydası nedir? OP'den bahsetmedi ama ya olumlu da olumsuza dönebilir ya da olumlu tutabilirdi .. Bundan bahsedilmeden bir tane varsayamazsınız.
— Andre Figueiredo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.