c++如何将一个数字三位三位加逗号

如题所述

对于整型数字,是无法直接加逗号的,只能转为字符串形式,再加逗号。

思路为:

1 将数字转为字符串;

2 从尾向头扫描字符串,每三位插入一个逗号。

3 当扫描到字符串开始时,操作结束。


示例代码如下:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int main()
{
    long l;
    cin>>l;
    string str;
    str << l; //转为字符串
    size_t len = str.length();
    for(int index =(int) len-3; index > 0; index -= 3)
      str.insert(index, ",");//插入逗号。
    cout<<str<<endl;//输出结果。
    return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-25
将数字转化成字符串然后一个while循环·每隔3个就是一个逗号,直到遇到/0
第2个回答  2014-04-25
如果数字大小未知的话 就是要用scanf将数字放入char 类型数组里面,之后对数组成员操作,例如char ho[20];里面存放了数字,那么首先strlen(ho)就可以知道数字是几位数了,在定义char ne[30];之后 ho[0],ho[1],ho[2]复制到ne相对的成员里面ne第4个成员ne[3]放入字符逗号,在以此循环直到ho数组读到了NULL本回答被网友采纳
相似回答