本文介绍了如何在 C 中格式化从 1123456789 到 1,123,456,789 的数字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在 C 语言中格式化从 1123456789
到 1,123,456,789
的数字?我尝试使用 printf("%'10d", 1123456789);
但这不起作用.
How can I in C language format a number from 1123456789
to 1,123,456,789
?I tried using printf("%'10d", 1123456789);
but that doesn't work.
你有什么建议吗?解决方案越简单越好.
Could you advise anything? The simpler the solution the better.
推荐答案
如果您的 printf 支持 '
标志(根据 POSIX 2008 printf()
),你可以通过适当地设置你的语言环境来做到这一点.示例:
If your printf supports the '
flag (as required by POSIX 2008 printf()
), you can probably do it just by setting your locale appropriately. Example:
#include <stdio.h>
#include <locale.h>
int main(void)
{
setlocale(LC_NUMERIC, "");
printf("%'d
", 1123456789);
return 0;
}
然后构建 &运行:
And build & run:
$ ./example
1,123,456,789
在 Mac OS X 和Linux (Ubuntu 10.10).
Tested on Mac OS X & Linux (Ubuntu 10.10).
这篇关于如何在 C 中格式化从 1123456789 到 1,123,456,789 的数字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!