将天文数字大数字转换为C/C++中的人类可读形式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将天文数字大数字转换为C/C++中的人类可读形式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1461字,纯文字阅读大概需要3分钟。
内容图文
我的程序打印出巨大的数字 – 比如100363443,高达万亿 – 而且很难阅读它们,所以我想以易于阅读的形式打印任何数字.
现在我用
printf ("%10ld", number);
格式
我会很感激使用printf得到的数字.我的大部分代码都是c但我不想引入std :: cout,因为我已经有了printf
谢谢
解决方法:
如果您有该选项可用,请使用printf格式字符串中的非标准撇号标记,并且不介意丢失一点可移植性.
根据我的文档,自1997年以来,该标志可用于POSIX系统.
如果你在Unix,Linux,Mac上……你应该没问题
如果您使用的是Windows,DOS,iSeries,Android,…所有投注均已关闭(但您可以在系统中安装POSIX层).
#include <locale.h>
#include <stdio.h>
int main(void) {
long int x = 130006714000000;
setlocale(LC_NUMERIC, "en_US.utf-8"); /* important */
while (x > 0) {
printf("# %%'22ld: %'22ld\n", x); /* apostrophe flag */
x *= 2; /* on my machine, the Undefined Behaviour for overflow
// makes the number become negative with no ill effects */
}
return 0;
}
在我的系统上,该程序产生:
# %'22ld: 130,006,714,000,000
# %'22ld: 260,013,428,000,000
# %'22ld: 520,026,856,000,000
# %'22ld: 1,040,053,712,000,000
# %'22ld: 2,080,107,424,000,000
# %'22ld: 4,160,214,848,000,000
# %'22ld: 8,320,429,696,000,000
# %'22ld: 16,640,859,392,000,000
# %'22ld: 33,281,718,784,000,000
# %'22ld: 66,563,437,568,000,000
# %'22ld: 133,126,875,136,000,000
# %'22ld: 266,253,750,272,000,000
# %'22ld: 532,507,500,544,000,000
# %'22ld: 1,065,015,001,088,000,000
# %'22ld: 2,130,030,002,176,000,000
# %'22ld: 4,260,060,004,352,000,000
# %'22ld: 8,520,120,008,704,000,000
内容总结
以上是互联网集市为您收集整理的将天文数字大数字转换为C/C++中的人类可读形式全部内容,希望文章能够帮你解决将天文数字大数字转换为C/C++中的人类可读形式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。