gpt4 book ai didi

c++ - QLocale,全局QLocale::setDefault()的范围是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:36:54 25 4
gpt4 key购买 nike

问题:

  • 我有一个基于 QT 的多平台(win、mac、*nix)应用程序,它可以解析包含十进制数字的 ascii 文件。

  • 解析是使用各种不同的代码片段完成的,这些代码片段使用 qt 字符串、c++ 标准输入、oldstyle scanf 等任何东西。

  • ascii 文件总是带有“.” (点)作为分隔的十进制(例如,在要解析的文件中,在许多国家/地区,1/10 写为 0.1 作为标准)。

  • 在本地化为使用逗号分隔的小数点的操作系统中使用该应用程序的人会遇到很多问题(例如,对于法国用户 scanf 希望找到 0,1 作为 1/10 的有效文本表示,如果他们找到 0.1 scanf 会将其解析为 0)

我如何确定必须始终忽略必须写入小数点的 OS Locale 指示?

假设添加

是否安全
 QLocale::setDefault(QLocale(QLocale::English,QLocale::UnitedStates));

是否足以摆脱所有这些问题?对全局设置区域设置的可移植方式有什么建议吗?

最佳答案

是的,这应该足够了,因为这意味着在没有参数的情况下创建 QLocale 的任何地方都将使用美国英语。范围是应用程序 (QApplication) 范围。

关于c++ - QLocale,全局QLocale::setDefault()的范围是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2585289/

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