gpt4 book ai didi

c++ - C(++) 中的 sprintf、逗号和点(以及本地化?)

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:49 27 4
gpt4 key购买 nike

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

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

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

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

最佳答案

小数分隔符由 LC_NUMERIC 语言环境变量控制。设置setlocale了解详情。将它设置为“C”语言环境会给你一个句号。您可以通过查看 localeconv 返回的(只读)结构来找出当前语言环境的字符和设置。 .

关于c++ - C(++) 中的 sprintf、逗号和点(以及本地化?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3709886/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com