所以,我的转换器应用终于工作了,但有一个主要问题。它不适用于IRL iPhone,只适用于模拟器iPhone。 像这样(IRL iPhone):
模拟器手机也是这样的:
IDK为什么这个小得多。
我能找到的唯一区别是我的手机是挪威语,因此那里的键盘上有逗号','而不是句号'。'
计算它的内容的代码在http://pastebin.com/nGaw7Agj
TLDR irl iphone不做正确的事,但xcode模拟器呢。
答案 0 :(得分:3)
我能找到的唯一区别是我的手机是挪威语,所以那里的键盘上有逗号','而不是句号'。
这就是答案。由于您具有不同的区域设置,因此第一个区域将舍入为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;