C++ 如何将一个字符串拆分为3个字符的组,每组之间留有空格

C++ 如何将一个字符串拆分为3个字符的组,每组之间留有空格,c++,C++,我有绳子 std::string MegaNum( float 10020030040 ) 重要的是转换我的字符串,这样我们就可以为每3位数字留出一个空格。我们如何将他们分组并不重要 我想转换成4个新值,值为1-3位数 然后将其打印为 10 020 030 040 转换我的字符串,这样我们可以为每3位数字留出一个空格 因为你是从一个字符串开始的,你可以直接考虑做这个动作(没有浮点数学)。 下面的函数获取一个字符串,从最低有效字符(最右边)开始计算3位数字,并返回插入空格的数字(行增长)。(不确

我有绳子

std::string MegaNum( float 10020030040 )
重要的是转换我的字符串,这样我们就可以为每3位数字留出一个空格。我们如何将他们分组并不重要

我想转换成4个新值,值为1-3位数

然后将其打印为

10 020 030 040

转换我的字符串,这样我们可以为每3位数字留出一个空格

因为你是从一个字符串开始的,你可以直接考虑做这个动作(没有浮点数学)。 下面的函数获取一个字符串,从最低有效字符(最右边)开始计算3位数字,并返回插入空格的数字(行增长)。(不确认数字的有效性,不检查字符是否为数字)


仅供参考-我的编译器不接受

std::string MegaNum( float 10020030040 );
和报告

 error: expected ‘,’ or ‘...’ before numeric constant

020
的值应该是
20
,对吗
020
不是一个数字,它是一个数字序列。是否必须将
std::string
转换为
float
s?你不能从原始字符串的末尾每隔3个字符插入空格吗?这不是免费的家庭作业服务。请向我们展示您迄今为止为解决此问题所做的努力,以及您陷入困境的原因。这里有一个起点:。使用这个方法的解决方案不是很有效,但它应该足够好,适合你的工作。可能重复@Fureeish no,这就是我想说的,它不是强制性的。重点是将一个数字(例如1010美元)转换成1010美元或一部电话number@FeiXiang我尝试了两种方法,实际上是三种不同的方法。我最接近的方法是将1020转换为1020,但我似乎不知道如何对它们进行分组。我看到不同的编程语言的不同解决方案,但不是C++。顺便说一句,我正在创建一个计算贷款利息的程序,我想很好地格式化它。
std::string MegaNum = "10020030040" ;
// std::string MegaNum  ( std::to_string(10020030040) ) ; //also works

std::cout << "\n  " << digiSpace3(MegaNum) << std::endl;
  10 020 030 040
std::string MegaNum( float 10020030040 );
 error: expected ‘,’ or ‘...’ before numeric constant