以下示例似乎显示了Qt中的一个错误。或者我错了吗?
当使用非标准语言环境时,例如fr_FR.UTF-8,在创建QApplication时似乎会更改系统语言环境,因为它被用于atof进行转换。
对我来说,这看起来像是创建QApplication将提取系统语言环境并调用setenv。
std::cout << atof("0.456") << std::endl; // OK prints 0.456
QApplication app (argc, argv);
//QLocale::setDefault(QLocale::C); // No effect at all.
std::cout << atof("0.456") << std::endl; // do not work on on fr_FR.UTF-8, print 0.
当使用非标准语言环境时,例如fr_FR.UTF-8,在创建QApplication时似乎会更改系统语言环境,因为它被用于atof进行转换。
对我来说,这看起来像是创建QApplication将提取系统语言环境并调用setenv。