C / C ++:printf使用逗号代替点作为小数分隔符
我需要我的程序使用逗号作为小数分隔符显示输出。
根据这个链接: http : //www.java2s.com/Code/Java/Development-Class/Floatingpointwithcommasf.htm你可以在Java中使用这样的东西:
System.out.printf("Floating-point with commas: %,f\n", 1234567.123);
是否有标志或其他东西我可以用来在C中有类似的行为?
提前致谢!
如果需要,可以在程序开头设置当前区域设置:
#include #include int main() { setlocale(LC_NUMERIC, "French_Canada.1252"); // ".OCP" if you want to use system settings printf("%f\n", 3.14543); return 0; }
C
没有类似的function。 您可以使用sprintf
打印到char数组,然后手动用逗号替换该点。 对不起,我想不出更好的解决方案。
编辑:感谢Mats Patersson的评论:似乎设置语言环境可以改变这个角色。 请查看他发布的链接。