本文介绍了如何在 C 中格式化从 1123456789 到 1,123,456,789 的数字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在 C 语言中格式化从 11234567891,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 的数字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-12 01:07