如何在swift 2.3中设置字符串格式

时间:2017-07-02 04:56:41

标签: ios swift2.3

我在我的应用程序中有TextField,在textField中输入值后,我在下面的委托方法中检查textformat

func textFieldDidEndEditing(textField: UITextField)

我想检查如下,

如果textField包含" 23"那么输出应该是" 23.00"

如果textField包含" 23.1"那么输出应该是" 23.10"

如果textField包含" 23.10"那么输出应该是" 23.10"

对此的任何想法

2 个答案:

答案 0 :(得分:3)

如果保证文本仅限于数值,我建议NumberFormatter

let text = "23"

let numberFormatter = NumberFormatter()
numberFormatter.minimumFractionDigits = 2
let formattedString = numberFormatter.string(from: Double(text)! as NSNumber)

对不起,代码是Swift 3代码。强烈建议更新,考虑到Swift 4正在等待。

答案 1 :(得分:1)

Swift 3 )它适用于案例" 23" ," 23.1" ," 23.10"

func process(_ input : String ) -> String
    {
        var string = input
        if !string.contains(".")
        {
            string += ".00"
        }
        else
        {
            for (index,char) in input.characters.enumerated()
            {
                if char == "."
                {
                    if index == input.characters.count - 1
                    {
                        string += "00"
                    }
                    else if index == input.characters.count - 2
                    {
                        string += "0"
                    }
                    break;
                }
            }
        }
        return string
    }

我希望你能处理 Swift 3 Swift 2.3 之间的问题