我目前正在使用Qt中的项目,用户可以在配置中输入值以将其设置为全局。此值将存储在.xml文件中,也可以从中读取。
由于我在Visual Studio中使用c ++,它只接受一个点:14.6
没问题但14,6
没有。它不会抛出错误,但该值将保存为零。出于语言原因,我希望将其保留在带有点的格式的xml中(德语是此时需要逗号的唯一语言,并且大多数语言也使用该点作为分隔符)
我搜索类似于Replace ,(comma) by .(dot) and .(dot) by ,(comma)的内容。 这个答案适用于Javascript,但我需要用c ++。
我想知道什么是最有效的解决方案。我已经考虑过用正则表达式“翻译”它,但我确信有更多的方法可以做到这一点。
答案 0 :(得分:1)
使用std::replace
功能很容易:
QString s = "aaa,bbb,ccc";
std::replace(s.begin(), s.end(), ',', '.');
qDebug()<< s;
OR QString替换功能:
QString s = "aaa,bbb,ccc";
s.replace(",", ".");
qDebug()<< s;
输出: aaa.bbb.ccc