swift xcode字符串到十进制数

Jbr*_*Jbr 3 string int numbers decimal swift

我想将文本(例如"3.9")转换为可用于数学公式的十进制数.

这是我的代码的一部分,它允许我转换整数,但我也想转换十进制数:

import UIKit

var xa = 0

class ViewController: UIViewController {

    @IBOutlet weak var xA: UITextField!

    @IBAction func chargecarte(sender: AnyObject) {

        xa = xA.text.toInt()!

    }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

使用NumberFormatter是一个很好的解决方案,这是一个如何在Swift 3.0中进行转换的示例.请注意,在Swift 3中,NSNumberFormatter已重命名为NumberFormatter.

let formatter = NumberFormatter()
formatter.generatesDecimalNumbers = true
formatter.numberStyle = NumberFormatter.Style.decimal
if let formattedNumber = formatter.number(from: textValue) as? NSDecimalNumber  {
    xa = formattedNumber
}
Run Code Online (Sandbox Code Playgroud)