gpt4 book ai didi

ios - NSDecimalNumber notANumber 对于字母 'E' 不正确

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:16:34 26 4
gpt4 key购买 nike

我试图以这样一种方式对 UITextField 应用验证,它不应该接受除十进制数以外的任何内容。我使用了 UITextField 的以下 delegate 方法:

  - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{


NSDecimalNumber *number2 = [NSDecimalNumber decimalNumberWithString:string];
if (!string || [string length] < 1 || [string isEqualToString:@""] )
{
return YES;
}
if (!number2 || [number2 isEqualToNumber:[NSDecimalNumber notANumber]])
{
return NO;
}

return YES;
}

它工作完美,但有两个问题。

<强>1。当我输入值“E”或“e”时,它会接受它。

2.一旦它接受字母'E'或'e',它就接受所有其他英文字母。

最佳答案

这是来自文档。

Besides digits, numericString can include an initial “+” or “–”; a single “E” or “e”, to indicate the exponent of a number in scientific notation; and a single NSLocaleDecimalSeparator to divide the fractional from the integral part of the number.

也许你可以改用 NSRegularExpression

关于ios - NSDecimalNumber notANumber 对于字母 'E' 不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22863322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com