首页 > 解决方案 > `Locale` 中的小数点分隔符是如何确定的?

问题描述

我有这个示例代码:

let locale = Locale(identifier: "en_US")
print("Language code: \(locale.languageCode ?? "nil")")
print("Region code: \(locale.regionCode ?? "nil")")
print("Decimal separator: \(locale.decimalSeparator ?? "nil")")

在此示例中使用en_US(英语作为语言,美国作为区域)使区域设置的小数分隔符为 a .,因为这是指定区域“美国”中的小数分隔符:

语言代码: en
地区代码: US
十进制分隔符: .

使用Locale(identifier: "fr_FR")(French in France) forlocale使小数点分隔符 a ,(因为这是在法国地区的做法:

语言代码: fr
地区代码: FR
小数分隔符: ,

fr在语言US环境中,使用法语(

语言代码: fr
地区代码: US
小数分隔符: ,

剩下的组合将是en_FR看似无关紧要的小数分隔符,

语言代码: en
地区代码: FR
小数分隔符: ,

小数分隔符取决于什么?

苹果的文档只说:

例如,对于“en_US”,返回“.”。

https://developer.apple.com/documentation/foundation/locale/2292886-decimalseparator

如何获得法语语言但具有.小数点分隔符的语言环境?decimalSeparator是只读的……</p>

标签: swiftdecimallocaleseparator

解决方案


推荐阅读