我想知道是否有一个原因Swift不会仅为NSDecimalNumber
重载标准算术(+, - ,*,<,>等)运算符,而是选择传统方法名称为adding
,subtracting
等。
我想超载这些操作符,这是一个好主意,有什么潜在的缺点?
修改
显然,Swift 3添加了Decimal
类型。 Swift 3也在一堆其他类型的前面放弃了NS,所以我假设Decimal
只是一个NSDecimal
而NS掉线了,但事实并非如此!虽然它没有真正回答这个问题,但我认为使用Decimal
代替NSDecimalNumber
通常应该是Swift 3及更高版本的良好反应。您可能希望坚持使用NSDecimalNumber
的一个原因是,如果您有许多扩展,并且不想在每次要使用扩展方法时进行桥接。
答案 0 :(得分:1)
您是否要使用Decimal
代替NSDecimalNumber
?
let d1 = Decimal(integerLiteral: 10)
let d2 = Decimal(integerLiteral: 2)
let result = d1 * d2 // 20