Duanxx的C++学习:计算数字的位数

以前计算一个数值的位数,使用的基本上就是不停的除以10,再计数,看到底有多少位数。

      今天发现可以考虑先将数字转换为字符串,然后通过string.length获得数值的位数,这样做方便的多。

string num2str1(unsigned int num)
{
	stringstream ss;
	ss<<num;
	return ss.str();
}

string num2str2(unsigned int num)
{
	char str_[10];
	sprintf_s(str_,"%d",num);
	string str = str_;

	return str;
}

///<直接计算出数字的位数
unsigned int getLenOfNum1(unsigned int num)
{
	unsigned int counter = 1;
	while (num/10)
	{
		counter++;
		num = num/10;
	}
	return counter;
}


///<先转换为字符串,然后在计算位数
unsigned int getLenOfNum2(unsigned int num)
{
	return num2str1(num).length();
}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。