首页 > 解决方案 > 语言环境是否有定义负符号的构面?

问题描述

我本来希望numpunct刻面包含有关用于否定符号的字符的信息。

我可以在语言环境的其他地方找到此信息,还是我只需要假设它总是'-'

标签: c++localizationlocalenumber-formattingnegative-number

解决方案


如果我们看一下num_put::put它的showpos状态

对于整数和浮点类型,如果showpos设置,修饰符+是前置的

所以这让我相信+它将始终用于表示正数

另外[locale.numpunct]/2

integer   ::= [sign] units
sign      ::= plusminus
plusminus ::= '+' | '-'

我将其解释为意味着它将始终-用于负数,+如果它是正数并且showpostrue. 如果不是这样,我希望它会像

integer   ::= [sign] units
sign      ::= plusminus
plusminus ::= plus | minus

推荐阅读