第1个回答 2010-05-09
//如果你说的是输入的是整型数据的话可以这样:
#include<iostream>
using namespace std;
int detect(long num)
{
int result=0;
long tmpNum=num;
while(true)
{
tmpNum=tmpNum/10;
result++;
if(tmpNum==0)
{
break;
}
}
return result;
}
int main(int argc,char** args)
{
long int data=7654321;
cout<<"数据:"<<data
<<"的位数是:"<<detect(data)
<<endl;
}
//如果不是,如1楼直接用类库string很方便
第2个回答 2010-05-09
//这是一种很通用的方法,将对你有很大的启发
//希望你好好体会,以后你就能转化其他的类型了
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
template <class T>
string toString(const T& s) {
ostringstream os;
os << s;
return os.str();
}
int main(){
int a ;
string b;
cin>>a;
b = toString(a); //将int转化为string型
cout<<b.length() <<endl;
return 0;
}
第3个回答 2010-05-09
#include <string>//当用字符串时要包含这个头文件,但是后面不要加.h
#include <iostream>
using namespace std;//这个要写,因为头文件没加.h
int main(){
string str;
cout<<"请输入";
cin >> str;
cout << str.length() << endl;//这里用到length()函数
return 0;//可写可不写
}
第4个回答 2010-05-09
#include<iostream>
using namespace std;
int main()
{int num,n=0;
cout<<"Input num:";
cin>>num;
while(num)
{n++;
num/=10;
}
cout<<endl<<n;
}