C++

aaaa3105563 2009-04-08 04:27:09
比如,我输入1234567 要输出1,234,567
就是 从后面开始 3位一个逗号
在比如 我输入123456789 输出 123,456,789
再顺便问一下 整形数据应该怎么转换为字符串 ···
...全文
73 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eric_Jo 2009-04-08
  • 打赏
  • 举报
回复
如果输入的是整型或者长整型数据,先转化成字符串,然后从字符串尾部开始每隔三位插入','字符,输出字符串即可。
整型数据转化字符串:1.有函数itoa等。可以查找函数手册。
2.可以自己写字符串转化算法。10除输入的整数,余数转化成字符即可,10除商,继续求余,依次到商为0。
donle1000 2009-04-08
  • 打赏
  • 举报
回复

#pragma warning(disable:4786)
#include <iostream>
#include <string>
using namespace std;
int main()
{
long a;
cout << "input a number: ";
cin >> a;
char s[20];
string str;
itoa(a,s,10); //这里就是将数字转换成10进制数
str = s;
//string::iterator it;
for(string::size_type pos = str.size()-1, n = 0; pos >= 1; pos--, n++)
{
if(n != 0 && n % 2 == 0)
{
str.insert(pos, ",");
n = -1;
}
cout << str << endl;
}
cout << str << endl;
return 0;
}
wwwypy 2009-04-08
  • 打赏
  • 举报
回复
你直接用字符串读入,让后在用方法得出输入的长度,从后往前读,当有三个数时,就插入一个逗号就行了。
beyond071 2009-04-08
  • 打赏
  • 举报
回复
char *itoa(int value, char *string, int radix);
参数:
value: 待转化的整数
radix: 是基数的意思,即先将value转化为radix进制的数
*string: 保存转换后得到的字符串
返回值:
char* : 指向生成的字符串, 同*string
「已注销」 2009-04-08
  • 打赏
  • 举报
回复
自己写算法吧。
很简单的。
将数字转换成字符串,然后再拼凑。
itoa
xqls_xqls 2009-04-08
  • 打赏
  • 举报
回复
itoa()
输入的时候可以用字符串来存储
再每3个字符加一个',' 最后输出

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧