0

我在一个使用 openframeworks 的项目中工作,最近在编写 XML 时遇到了一些问题。我已将问题追溯到 sprintf:

似乎在某些情况下,sprintf 调用可能会在浮点数上写入逗号而不是点(例如,“2,56”而不是“2.56”)。在我的语言环境中,浮点数用“,”表示,以将小数与单位分开。

我无法在一个简单的示例中重现此行为,但我通过使用字符串流对值进行字符串化解决了该问题。

我很好奇 sprintf 使用不同本地化的情况。当 sprintf 使用 ',' 而不是 '.' 以及如何控制它?

4

1 回答 1

8

小数点分隔符由LC_NUMERIC语言环境变量控制。详细设置setlocale。将它设置为“C”语言环境会给你一个句号。您可以通过查看由localeconv.

于 2010-09-14T14:42:58.723 回答