在Swift3中使用逗号的数字运行

  • 本文关键字:数字 运行 Swift3 swift
  • 更新时间 :
  • 英文 :


如果我的数字超过1,000,以便它有一个逗号,我如何剥离逗号,或者将此数字转换为双人可以在其上运行数学操作吗?

现在,我有以下代码:

let oldBFTally: Double = Double(plBFTally.text!)!
let newBFTally: Double = round(1000 * (rawValue + oldBFTally) / 1000)

此代码效果很好,只要数字低于1000。但是,由于我正在将数字格式化为文本,因此每当我尝试运行第一行时,它具有逗号(即:1,234.56)错误说:"致命错误:在解开可选值时出乎意料地发现了无效"。

有什么想法我可以做些什么来解决这个问题?

但是,由于我将数字格式化为文本,因此它具有逗号(即:1,234.56)

您正在尝试以错误的方式解决问题。如果首先要生成此字符串,则如果要对数字执行数学操作,则不应将其显示为UI中的字符串,然后尝试从UI向后返回到数字。

滥用了您的演示层。

而不是尝试在UI之间来回走动,而是使用您从。

生成字符串的原始值

@jim是正确的;您的文本字段应只包含内部变量的文本表示形式,因此您不需要转换回双重表示,但是您可以使用 NumberFormatter

使用。
import Foundation
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
if let number = formattter.number(from:"10,000") {
    print(number.doubleValue)
}

最新更新