如何在 Mac/iOS 上获取当前语言环境的负号字符

How to get current locale's negative sign character on Mac/iOS

您知道如何在 Mac/iOS 上获取当前语言环境的负号字符吗?

OSX 实现了 POSIX 语言环境并带有一些扩展。这将属于 LC_NUMERIC 类别,但未在 localedef(1):

中提及

Defines the decimal delimiter, grouping, and grouping symbol for non-monetary numeric editing.

然而,它 localconv 函数返回的特征(在 POSIX 文档中提到 localeconv):

negative_sign
The character used to denote negative currency values, usually a minus sign.

您可以通过首先使用 setlocale 初始化语言环境,然后调用 localeconv.

来检索此信息

进一步阅读:

NSNumberFormatter.negativePrefix returns 负数的前缀。还有相关的positivePrefixnegativeSuffixpositiveSuffix.

请注意,这可能不是单个字符。例如,在标准阿拉伯语区域设置 ("ar") 中,它是从右到左的标记,后跟减号。