【问题标题】:SetDecimalSeparator Doesn't work in real deviceSetDecimalSeparator 在真实设备中不起作用
【发布时间】: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(来自巴西的语言)时,此代码不起作用!

【问题讨论】:

    标签: ios objective-c uitextfield


    【解决方案1】:

    我发现了同样的问题。似乎具有 NSNumberFormatterCurrencyStyle 样式的 NSNumberFormatter 忽略了 decimalSeparator 设置。我必须更改为 NSNumberFormatterDecimalStyle 才能设置自己的小数分隔符。

    【讨论】:

      【解决方案2】:

      是的,我在所有 iPad 设备上也遇到了同样的问题,但在所有 iPhone 设备上都运行良好。所以我添加了以下代码:

      [numberFormatter setDecimalSeparator:@","];  
      [numberFormatter setGroupingSeparator:@"."];
      

      反之亦然

      [numberFormatter setDecimalSeparator:@"."];  
      [numberFormatter setGroupingSeparator:@","];
      

      现在在所有设备上都可以正常工作。 谢谢

      【讨论】:

        猜你喜欢
        • 2013-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-04
        • 2020-07-03
        相关资源
        最近更新 更多