c语言如何让输出结果精确到两位小数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何让输出结果精确到两位小数相关的知识,希望对你有一定的参考价值。

C语言中浮点数输出精确到两位小数的语句如下

double a=2.0;
printf ("%.2f", a);//其中.2指明两位小数


说明:如%9.2f 

表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,如果9缺省则场宽为该数实际位数

规定符

%d 十进制有符号整数

%u 十进制无符号整数

%f 浮点数

%s 字符串

%c 单个字符

%p 指针的值

%e 指数形式的浮点数

%x, %X 无符号以十六进制表示的整数

%o 无符号以八进制表示的整数

%g 把输出的值按照%e或者%f类型中输出长度较小的方式输出

%p 输出地址符

%lu 32位无符号整数

%llu 64位无符号整数

参考技术A 可以在输出的时候限制小数点位数。
1、当输出单精度浮点型float变量f时,可以用printf("%.2f",
f);来使输出结果保留两位有效数字。其中.2就是代表保留两位,如果要保留三位就是%.3f。用%.0f就是只输出整数。
2、如果是双精度浮点数double,就需要用%.2lf来使输出结果保留2位小数。
参考技术B 例子 printf( "%3.2lf",a) ,用 %a.blf可以实现,b就是小数点后的位数本回答被提问者和网友采纳 参考技术C 例子 printf( "%3.2lf",a) ,用 %a.blf可以实现,b就是小数点后的位数

C语言浮点数除法可以精确到多少位小数

double型的两个数相除,得到的浮点数能精确到多少位呢。。用我家电脑做了个实验,编译器是Code::Blocks 13.12。

然后用电脑自带的计算器算的结果和C语言算的结果比较如图。

技术分享

第一例里a=199000007,b=3030337,得到的答案在小数点后第14位(我没数错吧)开始不同了。

第二个例子里a=202033320333,b=1234567,在小数点后第11位开始不同了。

所以浮点数除法精确的位数是不固定的。

以上是关于c语言如何让输出结果精确到两位小数的主要内容,如果未能解决你的问题,请参考以下文章

用c语言浮点输出时,如何让小数点后没用的0不显示。

C语言编程序时怎么控制浮点型输出的小数点精确到几位

c语言中保留两位小数如何写?

C语言:怎么样使结果输出时保留一位小数;保留两位小数?

C语言中如何保留一位小数点?

C语言里,double类型的数据可以精确到小数点后几位?