我在我的应用程序中有TextField,在textField中输入值后,我在下面的委托方法中检查textformat
func textFieldDidEndEditing(textField: UITextField)
我想检查如下,
如果textField包含" 23"那么输出应该是" 23.00"
如果textField包含" 23.1"那么输出应该是" 23.10"
如果textField包含" 23.10"那么输出应该是" 23.10"
对此的任何想法
答案 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 之间的问题