我看到了this answer on how to convert a negative number to positive,但情况略有不同:我在Apache Cordova中进行了一些编码,并获得了需要翻转的加速计数据。
因此,当加速度计返回X轴值-5
时,我需要将其转换为5
,反之亦然;如果X轴值为5
,则新的X轴值应为-5
。
我理解如何做-Math.abs()
等等,但我怎样才能在我的代码中适应这种情况?
答案 0 :(得分:4)
您可以在此上下文中进行简单的数学运算,无需Math.abs
,
x_value = x_value * -1;
或者你可以否定价值,
x_value = -(x_value);
虽然否定,但有机会获得-0
,但我们不需要担心,因为-0 == 0
。 Abstract equality comparison algorithm在第1步 - c - vi 中讲述了这一点。
答案 1 :(得分:3)
答案 2 :(得分:2)
为什么需要Math.abs?
x_value = -1 * x_value;
适用于我能想到的每个场景。
答案 3 :(得分:2)
我建议将multiplication assignment与-1
一起使用。
乘法赋值运算符将变量乘以右操作数的值,并将结果赋给变量。有关详细信息,请参阅multiplication operator。
value *= -1;
答案 4 :(得分:0)
好吧,我的解决方案是创建一个这样的三元组,看看datamerge
是否大于0,并采取相应的行动:
x_value