所以,我的转换器应用程序终于可以工作了,但有一个主要问题。它不适用于 IRL iPhone,仅适用于模拟器 iPhone。像这样(IRL iPhone):
模拟器手机也做同样的事情:
IDK 为什么这个要小得多。
我能找到的唯一区别是我的手机是挪威语,所以那里的键盘有一个逗号','而不是句号'。
计算它的代码在这里http://pastebin.com/nGaw7Agj
TLDR irl iphone 没有做正确的事情,但 xcode 模拟器可以。
所以,我的转换器应用程序终于可以工作了,但有一个主要问题。它不适用于 IRL iPhone,仅适用于模拟器 iPhone。像这样(IRL iPhone):
模拟器手机也做同样的事情:
IDK 为什么这个要小得多。
我能找到的唯一区别是我的手机是挪威语,所以那里的键盘有一个逗号','而不是句号'。
计算它的代码在这里http://pastebin.com/nGaw7Agj
TLDR irl iphone 没有做正确的事情,但 xcode 模拟器可以。
我能找到的唯一区别是我的手机是挪威语,所以那里的键盘有一个逗号','而不是句号'。
这就是答案。由于您有不同的语言环境,第一个四舍五入为 13,而不是 13.37。我不知道您在这里使用的是什么数量,但是在这两种情况下,您似乎都在乘以一个常数 ~133.4247,因此两种情况下的计算都是相同的。
问题是您NSNumberFormatter
在从字符串中读取值时没有使用。NSNumberFormatter
将为您处理语言环境。Using[NSString floatValue]
是将字符串转换为数字的一种非常粗略的方法,您无法控制语言环境转换。
在这一行
float input = [inputText.text floatValue];
我建议改为
NSNumberFormatter* fmt = [NSNumberFormatter new];
float input [fmt numberFromString:inputText.text].floatValue;