c - 十进制格式是逗号而不是点
问题描述
我正在尝试使用 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
解决方案
推荐阅读
- javascript - 更新放大重定向 URI?
- php - Laravel - 查询到 mysql 数据库
- shell - 使用文件夹和文件大小递归列出文件
- javafx - javafx label message showing with timer does not work
- mysql - 如何将每条记录与另一条记录进行比较(名称反转问题)并删除重复记录?
- httphandler - Spring Boot2 Undertow 相同站点 - HttpHandler 自定义 - 需要帮助
- python-poetry - Python Poetry 与 scikit-umfpack 明显不兼容
- android - 与 kotlin 异步运行代码的最佳方式
- excel - 在 Powerpoint 上对齐图片
- php - 为 Woocommerce 中的特定支付网关添加百分比和固定成本的自定义费用