【问题标题】:swift xcode string to decimal numberswift xcode字符串到十进制数
【发布时间】:2014-11-18 19:00:51
【问题描述】:

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

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

import UIKit

var xa = 0

class ViewController: UIViewController {

    @IBOutlet weak var xA: UITextField!

    @IBAction func chargecarte(sender: AnyObject) {

        xa = xA.text.toInt()!

    }
}

【问题讨论】:

标签: string swift numbers int decimal


【解决方案1】:

使用 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
}

【讨论】:

    【解决方案2】:

    je parlais Français très mal...

    let str : NSString = xA.text
    var xa : Float = str.floatValue
    var xa1 : Double = str.doubleValue
    
    // or
    
    let formatter = NSNumberFormatter()
    formatter.numberStyle = NSNumberFormatter.DecimalStyle
    var xa2 : NSNumber? = formatter.numberFromString(str)
    

    【讨论】:

      【解决方案3】:

      快速解决方案:

        let decimalValue = Decimal(string: xA.text ?? "0")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-08-11
        • 1970-01-01
        • 2014-03-07
        • 2015-04-08
        • 2010-10-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多