c语言如何精确小数点后指定位数

例如计算1/3 精确到小数点后100位

可以在输出时,指定小数点后的有效位数,实现精确到若干位的效果。
要精确到小数点后若干位,则数据类型为浮点型,可能为单精度(float)或双精度(double)。
在C语言中,使用格式化输出函数printf来实现输出。
输出格式为
%.NF
1 %为格式化字符串的引导字符。
2 .N表示指定显示N位小数。
3 F为类型字符,对于float, F值为f, 对于double,F值为lf。

举例:
1 要输出float a=1.23234; 保留3位小数的写法为:
printf("%.3f",a);
2 输出double b=123.345232; 保留4为小数,写法为:
printf("%.4lf",b);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-01
如果指定位数在float或者double表示范围内,那么你可以直接输出;如果位数超出了计算机能够表示的范围,由于有理小数都可以表示成分数形式,你可以用整数形式存储分子和分母,然后写一个方法做整数的除法,得到的商的每一位都存储在一个整数数组里面。再逐位输出来就是了。
第2个回答  2012-08-01
doublt x;
x=1/3;
printf("%d.100",x);
第3个回答  2012-08-01
C语言不允许太多位了
第4个回答  2012-08-01
只能用数组或者字符串模拟除法运算来完成。否则一经超出最大长度
相似回答