Ios 我可以在UITextField中使用固定的十进制分隔符吗?
如何在uiTextField中键入时使用固定的小数分隔符(2位小数)。下面是示例图像 下面的应用程序在键入数字时保持格式不变,并在键入数字时将数字从左移。感谢您的帮助:)Ios 我可以在UITextField中使用固定的十进制分隔符吗?,ios,swift,Ios,Swift,如何在uiTextField中键入时使用固定的小数分隔符(2位小数)。下面是示例图像 下面的应用程序在键入数字时保持格式不变,并在键入数字时将数字从左移。感谢您的帮助:) 根据您的需要,以下是完整的代码: import UIKit class ViewController: UIViewController { @IBOutlet weak var inputField: UITextField! override func viewDidLoad() {
根据您的需要,以下是完整的代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var inputField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
inputField.text = 0.twoDigits
inputField.addTarget(self, action: "editingNumberChanged", forControlEvents: UIControlEvents.EditingChanged)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func editingNumberChanged() {
inputField.text = (Double(inputField.text!.numbersOnly.integerValue) / 100).twoDigits
}
}
extension Double {
struct Number {
static let formatter = NSNumberFormatter()
}
var twoDigits: String {
Number.formatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle
Number.formatter.minimumFractionDigits = 2
Number.formatter.maximumFractionDigits = 2
return Number.formatter.stringFromNumber(self)!
}
}
extension String {
var numbersOnly: String {
return "".join(componentsSeparatedByCharactersInSet(NSCharacterSet.decimalDigitCharacterSet().invertedSet))
}
var integerValue: Int {
return decimalNumber.integerValue
}
var decimalNumber: NSNumber {
return NSDecimalNumber(string: self)
}
}
结果:
参考来源:如果用户输入123456,每次按键后的显示应该是什么样子?@DharmeshKheni这正是我想要的。你是一个传奇,谢谢