所以,我的转换器应用程序终于可以运行了,但有一个主要问题。它不适用于 IRL iPhone,仅适用于模拟器 iPhone。 像这样(IRL iPhone):
模拟器手机也做同样的事情,如下所示:
不知道为什么这个这么小。
我能发现的唯一区别是我的手机是挪威语,所以键盘上有一个逗号“,”而不是句号“。”
计算它的代码在这里 http://pastebin.com/nGaw7Agj
TLDR irl iphone 没有做正确的事情,但是 xcode 模拟器可以。
最佳答案
Only difference I can find is that my phone is in Norwegian, so the keyboard on there got a comma ',' instead of a period '.'
这就是答案。由于您有不同的区域设置,第一个四舍五入为 13,而不是 13.37。我不知道您在这里使用的数量,但在这两种情况下,您似乎都乘以常数 ~133.4247,因此两种情况下的计算是相同的。
问题是您在从字符串读取值时没有使用NSNumberFormatter
。 NSNumberFormatter
将为您处理区域设置。使用[NSString floatValue]
是将字符串转换为数字的一种非常粗略的方法,并且您无法控制区域设置转换。
在这一行
float input = [inputText.text floatValue];
我建议更改为
NSNumberFormatter* fmt = [NSNumberFormatter new];
float input [fmt numberFromString:inputText.text].floatValue;
关于iphone - 模拟器和 IRL iPhone 没有相同的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13035498/