如何输出数字长度?

Mingci_why 2010-03-19 09:23:11
如果是string型的话可以用 变量.length()输出它的长度,比如“abc”则长度为3。
那如果是int型的呢?如何输出其长度,例如1614则输出4
...全文
286 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cattycat 2010-03-19
  • 打赏
  • 举报
回复
可以先转为char[],然后strlen即可。
也可以一直除10直到为0
hrjhrj12345 2010-03-19
  • 打赏
  • 举报
回复
来晚了,哈.楼上的几位说得很好.
我以前也用过2楼的方法
yzx714 2010-03-19
  • 打赏
  • 举报
回复
这其实是多么简单的事情,sprintf+strlen就可以了…………
我在多年前也被难倒过……
liyanlin122 2010-03-19
  • 打赏
  • 举报
回复
我也简单的给一个
#include <iostream>
using namespace std;

int main()
{
int a = 1234;
int i = 1,k = 10;
while((a/k) != 0)
{
i++;
k *= 10;
}
cout << i << endl;

return 0;
}
jiangxc2004 2010-03-19
  • 打赏
  • 举报
回复
正负号不算在长度之中。

int intLength(int a)
{
int len = 1;
while ( a/= 10 ) ++len;
return len;
}
senr0816 2010-03-19
  • 打赏
  • 举报
回复
你要知道int类型是有指定长度的(2个或4个字节)
你要输出int的长度只有靠算法,先判断正负,然后遍历10的n次方(因为int的大小是有限制的,所以是很容易遍历的)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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