c语言输出保留12位有效数字??? 5
例如一个double型c[500][500]数组,怎么保留12位有效数字输出数组各元素?例如同样是6位有效数字,923.333和9.23333小数后边保留的个数是不一样的...
例如
一个double型c[500][500]数组,怎么保留12位有效数字输出数组各元素?
例如同样是6位有效数字,923.333和9.23333小数后边保留的个数是不一样的!总不能这500*500个数我一个一个去看,然后printf("%.nf")输出吧!
c语言中有这样的库函数吗?头文件是什么?我知道c++中可以!例如:cout<<setprecision(12)<<c[300][200]<<endl;但是在c语言中该怎么办呢?
第一个非0数开始到最后一位一共12位! 展开
一个double型c[500][500]数组,怎么保留12位有效数字输出数组各元素?
例如同样是6位有效数字,923.333和9.23333小数后边保留的个数是不一样的!总不能这500*500个数我一个一个去看,然后printf("%.nf")输出吧!
c语言中有这样的库函数吗?头文件是什么?我知道c++中可以!例如:cout<<setprecision(12)<<c[300][200]<<endl;但是在c语言中该怎么办呢?
第一个非0数开始到最后一位一共12位! 展开
展开全部
#include <stdio.h>
int get_ncount(double num)
{
int ncount=0;
while(num>=1)
{
num/=10;
ncount++;
}
return ncount;
}
int main()
{
double a=12.345678901234;
double b=0.12345678901234;
int n=get_ncount(a);
printf("%*.*lf\n",n,12-n,a);
n=get_ncount(b);
printf("%*.*lf\n",n,12-n,b);
}
输出:
12.3456789012
0.123456789012
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己做一个函数就可以了。
将double转换为char字符串,然后自己在需要的位数上面截断或补0,之后printf这个字符串就ok
将double转换为char字符串,然后自己在需要的位数上面截断或补0,之后printf这个字符串就ok
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好!!
还是不太明白你这样做的目的是什么?
比如:923.333和9.23333,这两个数,你要拿他们做什么处理
还是不太明白你这样做的目的是什么?
比如:923.333和9.23333,这两个数,你要拿他们做什么处理
追问
我觉得,是不是先可以判断c[i][j]绝对值大小,若大于等于1,就用printf("%12f"),若小于1就用printf("%.12f")这样应该可以??
追答
那你这样吧,取个数数的整数 int 转换;
然后判断整数的位数,然后根据整数的位数,决定小数的位数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询