【发布时间】:2016-12-12 16:20:37
【问题描述】:
我有一个UITextField,用户应该在其中输入一个浮点数。我想检查这样的数字是否具有我收到的某种格式,例如“dddd.dd”,其中“d”是一个数字。格式可能随时更改,因为我也将其作为输入接收,因此例如我可能想在另一个时刻检查“,”字符是否用于小数,再举一个例子。
考虑到您从UITextField 中读取的text 是String 类型(可选),最好的方法应该是什么?
- 具有所提供格式的谓词。然后评估输入字符串。然后转换为数字。
- 尝试转换为数字。如果成功(如何处理分隔小数的字符?),然后用
NumberFormatter检查格式? - 还有其他和/或更好的方法吗?
【问题讨论】:
-
如果您没有太多格式,请尝试使用正则表达式根据情况验证输入,然后将其转换为数字。就像你建议的那样,第一种方式。
-
你是否愿意限制用户除了号码之外不能注册任何东西?
-
@SahebRoy 是的,在这样的文本字段中,我只希望数字(以及千位和小数分隔符)
标签: ios numbers swift3 formatter nsnumberformatter