我在使用openframeworks的项目中工作,最近我在编写XML时遇到了一些问题。我已将问题追溯到sprintf:
似乎在某些条件下,sprintf调用可以在浮点数上写逗号而不是点(例如“2,56”而不是“2.56”)。在我的语言环境中,浮动数字用','表示,以将小数与单位分开。
我无法在一个简单的示例中重现此行为,但我通过使用字符串流对值进行字符串处理来解决问题。
我很好奇sprintf使用不同的本地化的情况。当sprintf使用','而不是'。'时以及如何控制它?
答案 0 :(得分:8)
小数点分隔符由LC_NUMERIC
语言环境变量控制。设置setlocale
了解详细信息。将其设置为“C”语言环境将为您提供一段时间。您可以通过查看localeconv
返回的(只读)结构来查找当前语言环境的字符和设置。