【问题标题】:NumberFormatter works on simulator but not on device swiftNumberFormatter 适用于模拟器,但不适用于设备 swift
【发布时间】:2022-08-18 17:10:14
【问题描述】:

用逗号分隔千位。 在模拟器上,一切正常,但在设备上,出于某种原因,相同的代码,而不是逗号,放置了一个空格。

  • 由于某些原因?格式化程序使用设备的区域设置(语言)。如果您希望格式化程序使用特定的语言环境,您必须明确设置它。

标签: ios swift numberformatter


【解决方案1】:

你错了,格式化程序在模拟器和设备上都能正常工作——每个都使用不同的语言环境。如果这是向用户显示的数字,那么在用户的区域设置中格式化数字是完全正确的。

如果您想在任何地方使用特定的语言环境,您必须明确设置它,例如:

formatter.locale = Locale(identifier: "en_US")

【讨论】:

  • 非常感谢!这有帮助!祝你顺利)
  • 在这里,我们通过接受@VladChuvashov 的答案来感谢
【解决方案2】:

您需要指定formatter.locale,否则NumberFormatter 将从设备获取默认值。

https://developer.apple.com/documentation/foundation/numberformatter/1416967-locale

【讨论】:

    猜你喜欢
    • 2012-11-01
    • 2011-03-08
    • 2015-02-13
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多