快速将正值转换为负值

Posted

技术标签:

【中文标题】快速将正值转换为负值【英文标题】:Convert positive value to negative value in swift 【发布时间】:2019-01-17 20:17:19 【问题描述】:

我想将正值转换为负值,例如:

let a: Int = 10

把它转成-10,我现在的想法就是用它来多个-1

a * -1

我不确定这是否正确,有什么想法吗?

【问题讨论】:

【参考方案1】:

只需使用- 运算符。

let negativeA = -a

【讨论】:

【参考方案2】:

使用 Swift 5,根据您的需要,您可以使用以下两种方法之一将整数转换为其加法逆。


#1。使用negate()方法

Int 有一个negate() 方法。 negate() 有以下声明:

mutating func negate()

用它的加法倒数替换这个值。

下面的 Playground 代码示例展示了如何使用 negate() 来改变一个整数并用它的加法逆替换它的值:

var a = 10
a.negate()
print(a) // prints: -10
var a = -10
a.negate()
print(a) // prints: 10

请注意,negate() 也适用于所有符合 SignedNumeric 协议的类型。


#2。使用一元减号运算符 (-)

可以使用前缀-(称为unary minus operator)切换数值的符号。下面的 Playground 代码示例展示了如何使用它:

let a = 10
let b = -a
print(b) // prints: -10
let a = -10
let b = -a
print(b) // prints: 10

【讨论】:

不幸的是,使用 Double,如果值为零,您会得到“-0”,这是奇数(但有效)。

以上是关于快速将正值转换为负值的主要内容,如果未能解决你的问题,请参考以下文章

使用 numpy.clip 将正值和负值转换为位串

使numpy数组的负值变为正

html:css3新特性:转换(二维,三维),过渡,动画

小数到符号和大小的转换

sql纵向数据变横向数据正负

对具有负值和正值的整数和浮点数列表进行排序?