Ruby:将负数更改为正数?


105

用红宝石将负数更改为正数的最简单方法是什么?

即。将“ -300”更改为“ 300”

Answers:



27

在其前面放一个负号。

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

6
请注意,如果数字已经为正,则将其为负。
Sasha Chedygov,2010年

是的 在我对上述公认答案的评论中澄清了这一点。
布兰登·博德纳

8
它要么不是天才,要么不是疯狂。
Stephen Nguyen

为什么要投反对票?按照OP的要求,这会从负面变为正面。#abs并且-是要求输入/输出具有相同行为的不同功能。如果那是由于不希望出现的+-> -,那只不过是一个假设,因为OP并未涵盖该假设。
安德烈·菲格雷多

14

将它乘以负数不是更容易吗?

x * -1

这样,您就可以来回走动。


我喜欢使用它来保持清晰,因为有时使用-符号有时会容易错过
Matthias

1
值得记住的是,x *= -1如果您要存储新值,可以使用速记...
SRack,2016年

基于相同的原理,我们甚至可以将任何负数除以-1。不过,我只是想知道什么都可以使用它的好处了腹肌的方法通过Yacoby提到
Apurva Mayank

1
abs返回一个绝对值。如果这就是您想要的,就像OP那样,那就很好。但是,如果您需要来回走动怎么办?
绝对不满的网匠

@ApurvaMayank abs在此之上使用的好处是什么?OP没有提及,但是他也可以将正数也变为负数,或者保持正数。
安德烈·菲格雷多
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.