swift - 将 NSDecimalNumbers 转换为负数

标签 swift ios8 nsnumberformatter nsdecimalnumber

快速开发预算应用程序。

本质上,有一个标签显示键盘 textInput 到 currencyStyle 并显示这个数字($5.00),然后等待用户选择借记或取款。如果是借方,数字会附加到表中,但是当涉及到 Withdraw(-) 时我就迷路了。

我愿意

  1. 将格式为货币的 NSDecimalNumber 转换为负数以附加到 tableView:String ($5.00 to -$5.00)。

  2. 将 NSDecimalNumber 值转换为负数并添加到 NSNumber 数组中,该数组存储要为可用余额(5.50 到 -5.50)计算的数字

对于这两者,我都尝试过使用 NSNumberFormatter negativePrefix 和 Apple 文档中的一些其他属性,但都无济于事。甚至尝试创建负 NSNumber 值 = -100.0,但应用程序在除法期间崩溃。

如有任何帮助,我们将不胜感激。

最佳答案

要轻松取反 NSDecimalNumber,请像这样在 Swift 中创建一个扩展:

extension NSDecimalNumber {
    func negative() -> NSDecimalNumber {
        return self.decimalNumberByMultiplyingBy(NSDecimalNumber(mantissa: 1, exponent: 0, isNegative: true));
    }
}

然后你可以像这样取反你的NSDecimalNumber:

yourNumber = yourNumber.negative() 

关于swift - 将 NSDecimalNumbers 转换为负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29644963/

相关文章:

ios - swift 在 UITableViewCell 中播放多个视频依赖于 Scroll

ios - 来自同一代码库的不同应用程序

ios - NSNumberFormatter 的问题

ios - iPhone : How to get number from string with currency symbol in Objective-C

ios - 类没有初始化器 : Swift Error

ios - 将应用程序提交到应用程序商店之前,如何处理潜在错误 'throws'?

ios - 临时 UIImage 从不清除

ios - 任何适用于 IOS8 beta CloudKit 的 CKDiscoverAllContactsOperation 的工作示例代码吗?

ios - 在 iOS 8 中以编程方式连接到 VPN

ios numberformatter currency 如果为 0,则删除尾随小数