我有一个带有此代码的UITextField,它获取值并以货币格式转换:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setCurrencySymbol:@"$"];
[numberFormatter setMaximumFractionDigits:2];
[numberFormatter setMinimumFractionDigits:2];
此代码效果很好,但是当我尝试使用此命令将小数点分隔符(逗号',')更改为(指向'。')时:
[numberFormatter setDecimalSeparator:@"."];
我的TextField继续将逗号显示为分隔符,但这次我无法编辑我的文本字段,如何解决此问题?
EDIT
在Ipad模拟器中,这段代码效果很好,但是当我把这段代码放在真正的Ipad中时(来自巴西的语言)这段代码不起作用!
答案 0 :(得分:4)
我发现了同样的问题。似乎NSNumberFormatter与NSNumberFormatterCurrencyStyle样式忽略decimalSeparator设置。我必须更改为NSNumberFormatterDecimalStyle才能设置自己的decimalSeparator。
答案 1 :(得分:1)
是的,我在所有iPad设备上也面临同样的问题,但在所有iPhone设备中它都运行良好。所以我添加了以下代码:
[numberFormatter setDecimalSeparator:@","];
[numberFormatter setGroupingSeparator:@"."];
反之亦然
[numberFormatter setDecimalSeparator:@"."];
[numberFormatter setGroupingSeparator:@","];
现在所有设备都能正常工作。 感谢