我正在尝试找出 macOS 中的数字格式化程序,我只想允许数字和小数点,但我遇到了麻烦
Posted
技术标签:
【中文标题】我正在尝试找出 macOS 中的数字格式化程序,我只想允许数字和小数点,但我遇到了麻烦【英文标题】:I'm trying to figure out the number formatter in macOS, I would like to only allow numbers and a decimal point, but I'm having trouble 【发布时间】:2022-01-07 07:41:52 【问题描述】:这仅适用于整数值,我从另一个 *** 问题中发现了这一点,但是我如何设置样式以允许小数位为好。我是 macOS 的新手,不胜感激!
class OnlyIntegerValueFormatter: NumberFormatter
override func isPartialStringValid(_ partialString: String, newEditingString newString: AutoreleasingUnsafeMutablePointer<NSString?>?, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool
// Ability to reset your field (otherwise you can't delete the content)
// You can check if the field is empty later
if partialString.isEmpty
return true
// Optional: limit input length
if partialString.count > 8
return false
// Actual check
return Int(partialString) != nil
【问题讨论】:
【参考方案1】:要允许十进制数字,您可以将您的 return 语句更新为以下内容
// ...
return number(from: partialString) != nil
那么你允许整数和十进制数
还有更多可用选项(例如maximumIntegerDigits
)通过使用NumberFormatter
(https://developer.apple.com/documentation/foundation/numberformatter) 来限制您的输入
【讨论】:
谢谢你,这太棒了!以上是关于我正在尝试找出 macOS 中的数字格式化程序,我只想允许数字和小数点,但我遇到了麻烦的主要内容,如果未能解决你的问题,请参考以下文章