2012-07-22 71 views
1

我有一个非常基本的问题:我怎样才能在Qt中强制使用浮点数字而不是逗号(我有一个法语版本的操作系统)?Qt中的浮点运算的力点而不是逗号

其他问题:是否可以显示带千位分隔符的空格数字?

+1

您可能想看看[QLocale](http://qt-project.org/doc/qt-4.8/qlocale.html)及其功能。 – Bart 2012-07-22 16:56:11

+0

尝试使用'setlocale'和'printf'的'%'d'格式说明符来获取千位分隔符(尽管我明白这不是Qt答案)。 – 2012-07-22 16:58:57

+2

请为你的第二个单独提问。谢谢。 – 2012-07-22 18:53:27

回答

4

试试这个:

QLocale loc = QLocale::system(); // current locale 
loc.setNumberOptions(QLocale::c().numberOptions()); // borrow number options from the "C" locale 
QLocale::setDefault(loc); // set as default 

如果你希望所有的选项中的“C”语言环境,你可以简单地做

QLocale::setDefault(QLocale::c()); 

关于你提到的第二个问题:Qt不支持自定义但您可以尝试设置数字选项,例如匈牙利的语言环境(它应该产生1234和12 345.67 - 我自己没有尝试过)

QLocale loc = QLocale::system(); // current locale 
QLocale hungary(QLocale::Hungarian); 
loc.setNumberOptions(hungary.numberOptions()); // borrow number options from the Hungarian locale 
QLocale::setDefault(loc); // set as default 
+0

这对我不起作用。 – bibi 2016-10-20 13:11:37

+0

http://stackoverflow.com/questions/40155440/qlocale-and-qsettings – bibi 2016-10-21 05:25:48