SetDecimalSeparator 在真实设备中不起作用
Posted
技术标签:
【中文标题】SetDecimalSeparator 在真实设备中不起作用【英文标题】:SetDecimalSeparator Doesn't work in real device 【发布时间】:2014-06-27 16:10:40 【问题描述】:我有一个带有以下代码的 UITextField,它获取值并转换为货币格式:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setCurrencySymbol:@"$"];
[numberFormatter setMaximumFractionDigits:2];
[numberFormatter setMinimumFractionDigits:2];
此代码运行良好,但是当我尝试使用此命令将小数分隔符(逗号',')更改为(点'。')时:
[numberFormatter setDecimalSeparator:@"."];
我的 TextField 继续显示逗号作为分隔符,但这次我无法编辑我的文本字段,我该如何解决这个问题?
EDIT
在 Ipad 模拟器中,此代码运行良好,但当我将此代码放入我的真实 Ipad(来自巴西的语言)时,此代码不起作用!
【问题讨论】:
【参考方案1】:我发现了同样的问题。似乎具有 NSNumberFormatterCurrencyStyle 样式的 NSNumberFormatter 忽略了 decimalSeparator 设置。我必须更改为 NSNumberFormatterDecimalStyle 才能设置自己的小数分隔符。
【讨论】:
【参考方案2】:是的,我在所有 iPad 设备上也遇到了同样的问题,但在所有 iPhone 设备上都运行良好。所以我添加了以下代码:
[numberFormatter setDecimalSeparator:@","];
[numberFormatter setGroupingSeparator:@"."];
反之亦然
[numberFormatter setDecimalSeparator:@"."];
[numberFormatter setGroupingSeparator:@","];
现在在所有设备上都可以正常工作。 谢谢
【讨论】:
以上是关于SetDecimalSeparator 在真实设备中不起作用的主要内容,如果未能解决你的问题,请参考以下文章