C语言入门 发表于 2014-7-29 18:05:29

如果两个double型的数值运算,怎么让计算机自动处理小数位数

本帖最后由 风之残月 于 2014-11-10 10:12 编辑

如3.3+6.1=9.4而不是9.400000,怎么弄啊

メ㊣逆ご帅☆ 发表于 2014-7-29 18:05:30

本帖最后由 メ㊣逆ご帅☆ 于 2014-7-29 19:37 编辑

9.4=9.400000。即使后面添加一万个0也是一样的
只是显示问题而已,当然你可以选择不显示
比如printf函数
可以以%g输出便是你要的结果
%g选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0双精度实数
双精度实数,刚好符合你的要求自动处理小数位。不用手动精确

例子
#include <stdio.h>
int main()
{
      double a,b;
      a=3.3;
      b=6.1;
      printf("相加结果:%g\n",a+b);
      return 0;
}




牡丹花下死做鬼 发表于 2014-7-29 18:56:28

%-2f

火星~Jolin.W 发表于 2014-7-29 19:29:32

用%.2lf,小数点后用来确定他的精确位数

C语言入门 发表于 2014-7-29 20:05:17

メ㊣逆ご帅☆ 发表于 2014-7-29 19:01
9.4=9.400000。即使后面添加一万个0也是一样的
只是显示问题而已,当然你可以选择不显示
比如printf函数
...

谢啦

『浴火凤凰』 发表于 2014-7-29 20:12:18

4楼正解

メ㊣逆ご帅☆ 发表于 2014-7-29 21:14:58

C语言入门 发表于 2014-7-29 20:05
谢啦

记得采纳。
页: [1]
查看完整版本: 如果两个double型的数值运算,怎么让计算机自动处理小数位数