2012-07-22 65 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