swift2 UIText用于输入金额的域

xyhw6mcr  于 2022-11-06  发布在  Swift
关注(0)|答案(2)|浏览(142)

我正在开发一个销售点应用程序。
所以我想
1.假设用户输入100000,但我希望它自动显示为100,000,并且1000000变为1,000,000
1.第二个问题是,我不希望用户能够自己输入.
1.第三个问题是,既然这是钱,我们就不能让用户一开始就输入0。
有什么想法吗?
到目前为止,我已经设法将输入限制为十进制数字

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

        let numberSet: NSCharacterSet = NSCharacterSet.decimalDigitCharacterSet().invertedSet;
        return string.stringByTrimmingCharactersInSet(numberSet).length > 0 || string == "";
}

非常感谢您的光临

P.S.:我不需要任何小数位,我们还需要考虑用户在按退格键时更改光标位置

pdtvr36n

pdtvr36n1#

Xcode 9 ·雨燕4
第一个

xqkwcwgp

xqkwcwgp2#

简单的事情,我想出了充分测试的斯威夫特2.0
您可以使用任何textField委派,看看哪一个适合您

let price = Int(textField.text!)

        let _curFormatter : NSNumberFormatter = NSNumberFormatter()

        _curFormatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle

        _curFormatter.currencyCode = "INR"

        _curFormatter.maximumFractionDigits = 0

        let total = _curFormatter.stringFromNumber(price!)

        textField.text = total

相关问题