Ruby:負の数を正の数に変更しますか?


105

ルビで負の数を正に変更する最も簡単な方法は何ですか?

すなわち。「-300」を「300」に変更します

回答:



27

その前に負の符号を置きます。

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

6
数値がすでに正の場合は、負になることに注意してください。
Sasha Chedygov 2010年

うん。上記の受け入れられた回答に対する私のコメントでそれを明確にした。
Brandon Bodnar、2010年

8
天才でも狂気でもない。
スティーブングエン

なぜ反対票?これは、OPが尋ねたように、負から正に変わります。#absそして、-尋ねた入力/出力のために同じ動作を持つさまざまな機能があります。それが望ましくない原因である場合+-> -、それはOPの対象ではなかったため、単なる仮定にすぎません。
Andre Figueiredo

15

負の値を掛けるほうが簡単ではないでしょうか?

x * -1

そうすれば、前後に移動できます。


-記号を使用する
Matthias

1
x *= -1新しい値を保存する場合は、省略形を使用できることを覚えておく価値があります...
SRack

同じ原理に基づいて、負の数を-1で除算することもできます。しかし、私はYacobyによって言及されているように、absメソッドよりもそれを使用することの利点が何であるのか疑問に思っていました
Apurva Mayank 2018年

1
absは絶対値を返します。OPの場合と同様に、それで十分であれば問題ありません。しかし、前後に移動する必要がある場合はどうでしょうか。
アブサンドマインドウェブスミス2018

@ApurvaMayank absこれよりも使用する利点は何ですか?OPは言及しませんでしたが、彼は同様にポジティブをネガティブに変えるか、ポジティブに保つことができます。
Andre Figueiredo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.