如何在 swift 2.3 中设置字符串格式
How to set String format in swift 2.3
我的应用程序中有 TextField,在 textField 中输入值后,我正在使用以下委托方法检查文本格式
func textFieldDidEndEditing(textField: UITextField)
我想检查如下,
如果 textField 包含“23”,则输出应为“23.00”
如果 textField 包含“23.1”,则输出应为“23.10”
如果 textField 包含“23.10”,则输出应为“23.10”
对此有什么想法
(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
之间的问题
如果保证文字限制为数值我推荐NumberFormatter
let text = "23"
let numberFormatter = NumberFormatter()
numberFormatter.minimumFractionDigits = 2
let formattedString = numberFormatter.string(from: Double(text)! as NSNumber)
抱歉,密码是 Swift 3 码。强烈建议更新,考虑到 Swift 4 正在等待。
我的应用程序中有 TextField,在 textField 中输入值后,我正在使用以下委托方法检查文本格式
func textFieldDidEndEditing(textField: UITextField)
我想检查如下,
如果 textField 包含“23”,则输出应为“23.00”
如果 textField 包含“23.1”,则输出应为“23.10”
如果 textField 包含“23.10”,则输出应为“23.10”
对此有什么想法
(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
之间的问题如果保证文字限制为数值我推荐NumberFormatter
let text = "23"
let numberFormatter = NumberFormatter()
numberFormatter.minimumFractionDigits = 2
let formattedString = numberFormatter.string(from: Double(text)! as NSNumber)
抱歉,密码是 Swift 3 码。强烈建议更新,考虑到 Swift 4 正在等待。