gpt4 book ai didi

ios - NSNumberFormatter 在设备上返回 nil,而不是在模拟器上

转载 作者:可可西里 更新时间:2023-11-01 05:09:43 25 4
gpt4 key购买 nike

我使用 NSNumberFormatter 将用户输入转换为 NSNumber(十进制数),我使用 ARC。

NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
[f setMaximumFractionDigits:1];

_myNumber = [f numberFromString:myTextField.text];

有时这会导致 _myNumbernil。即使我完全确定用户输入的是正确的十进制数(我在调试期间检查过)。

为了完整性:_myNumber 是 ViewController 的综合属性。这只发生在设备上运行应用程序时,而不是当我在模拟器中运行它时。使用的键盘是“Decimal Pad”在不同的代码部分,在不同的 ViewController 中,代码确实有效。

我现在有一个解决方法,我已将其添加到上述代码下方:

if (!myNumber){
myNumber = [NSNumber numberWithFloat: myTextField.text.floatValue];
}

有人知道为什么 NSNumberFormatter 可以返回 nil,即使调用 [NSNumber numberWithFloat: myTextField.text.floatValue] 有效吗?

最佳答案

在我的例子中,解决方案是将 NSNumberFormatter 的“decimalSeparator”设置为“.”,例如:

NSNumberFormatter *formatString = [[NSNumberFormatter alloc] init];
formatString.decimalSeparator = @".";

关于ios - NSNumberFormatter 在设备上返回 nil,而不是在模拟器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13989456/

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