在 C 中,我如何格式化一个大数字,例如1123456789
到 1,123,456,789
?
我尝试使用 printf("%'10d\n", 1123456789)
,但这不起作用。
你有什么建议吗?解决方案越简单越好。
最佳答案
如果您的 printf 支持 '
标志(根据 POSIX 2008 printf()
的要求),您可以通过适本地设置您的语言环境来做到这一点。示例:
#include <stdio.h>
#include <locale.h>
int main(void)
{
setlocale(LC_NUMERIC, "");
printf("%'d\n", 1123456789);
return 0;
}
然后构建并运行:
$ ./example
1,123,456,789
在 Mac OS X 和 Linux (Ubuntu 10.10) 上测试。
https://stackoverflow.com/questions/1449805/