我正在使用以下C ++语法在Windows平台上输出浮点值:
printf("%.2f", 1.5);
如果我在英文用户帐户上运行,效果很好。 我的假设是,如果我运行它,说法语用户帐户,输出将是1,50而不是1.50。
为什么我没有看到它,以及如何产生我想要的结果?
基数字符(即“。”或“,”)由当前语言环境定义。 默认语言环境(至少对于Windows系统)是“C”,它定义了“。” 作为基数字符。
您可以使用setlocale
函数为C / C ++程序设置当前的语言环境。
要将语言环境设置为当前系统/用户区域设置,可以使用以下语句:
#include <locale.h> setlocale(LC_ALL, ".OCP");
请参阅此处 (参见链接页面上的示例…)以获取有关setlocale
更多信息
尝试使用setlocale()函数http://www.cplusplus.com/reference/clibrary/clocale/setlocale/