我正在尝试使用gnuplot进行绘制,但我无法正确绘制值。当我使用printf("%.9f %.9f\n", x, y);
打印值时,得到的结果是:499,000000000 -0,725536846。但我期待一个。代替 ,。我尝试使用setlocale(LC_NUMERIC, "POSIX");
更改输出,但是不起作用。
有人可以告诉我如何解决此输出吗?
更新:我运行Local pt_BR.UTF-8
时得到printf("Local %s\n", setlocale(LC_NUMERIC, ""));
这是一个小例子:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[]){
printf("Local %s\n", setlocale(LC_ALL, ""));
printf("%.9f\n", 1.255165164684);
return 0;
}
输出:
Local LC_CTYPE=pt_BR.UTF-8;LC_NUMERIC=pt_BR.UTF-8;LC_TIME=pt_BR.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=pt_BR.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=pt_BR.UTF-8;LC_NAME=pt_BR.UTF-8;LC_ADDRESS=pt_BR.UTF-8;LC_TELEPHONE=pt_BR.UTF-8;LC_MEASUREMENT=pt_BR.UTF-8;LC_IDENTIFICATION=pt_BR.UTF-8
1,255165165