c++如何显示任意一数字的位数
c++新手求帮助,c++如何显示任意一数字的位数,像14876.456会显示5位数和3位小数,正负数都可以显示笨方法就是把这个浮点数转到字符串,然后判断小数点前面有多少字符和后面有多少字符 先除以1得到整数部分.再用原来的数减去整数部分得到小数部分.两个部分分别以10为底取对数.
例如14876.456
除以1得到14876.原来减掉整数部分得到的小数部分0.456
然后取对数.整数部分的位数为log10(14876)+1=5位(用整型变量存放)
小数部分为fabs(log10(0.456))=|-3|=3位 Xin950320 发表于 2014-12-4 15:27
先除以1得到整数部分.再用原来的数减去整数部分得到小数部分.两个部分分别以10为底取对数.
例如14876.456
...
小数部分好像有点问题额,|log10(0456)|=0.341 Xin950320 发表于 2014-12-4 15:27
先除以1得到整数部分.再用原来的数减去整数部分得到小数部分.两个部分分别以10为底取对数.
例如14876.456
...
谢谢分享。很赞同 #include<iostream.h>
void main()
{
int n,i=0;
cout<<"请输入数"<<endl;
cin>>n;
while(n!=0)
{
n/=10;
i++;
}
cout<<"该数为"<<i<<"位"<<endl;
}
页:
[1]