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 在真实设备中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

应用程序在连接的真实设备上工作,但不是 APK

表格视图在真实设备上不刷新

如何解决真实设备中的 CORS 问题?

在真实设备上测试安卓应用

如何在真实设备中使用离子运行移动应用程序

在真实 iOS 设备上模拟位置