在Swift中将正数转换为负数

13

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

let a: Int = 10

把它变成-10,我的想法是直接用-1乘以它。

Translated:

Turn it to -10, my current idea is just to use -1 to multiply it directly.

a * -1

我不确定这是否合适,你有什么想法吗?

2个回答

20

在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. 使用一元减号运算符(-

可以使用前缀 - 来切换数字值的符号,这被称为一元减号运算符。下面的 Playground 代码示例展示了如何使用它:

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

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

15

只需使用-运算符。

let negativeA = -a

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接