黑马程序员技术交流社区

标题: 关于数据类型转换问题 [打印本页]

作者: 罗冠坤    时间: 2014-3-16 18:20
标题: 关于数据类型转换问题
下面的运算,经过手算结果是1.1多为什么程序显示成6.5e+000多呢??????

int main(void){
   double result = 0.0;
   int a = 5;
   int b = 8;

   result = (double)(a+b) / 2;

   printf("result=%.2e",result);
   return 0;
}



作者: 77媛儿    时间: 2014-3-16 18:54
printf("result=%.2e",result); 不是应该输入%f吗|
作者: 牧之    时间: 2014-3-16 19:59
double类型,printf里面是%.2f
作者: 1014917278    时间: 2014-3-16 21:58
  1. int main(void){
  2.    double result = 0.0;
  3.    int a = 5;
  4.    int b = 8;

  5.    result = (double)(a+b) / 2;

  6.    printf("result=%.2f",result);
  7.    return 0;
  8. }
复制代码

这样就ok了
作者: 罗冠坤    时间: 2014-3-16 22:53
恩恩。后来我看了。。。l代表双精度浮点数,%lf也可以
e代表指数模式
f代表普通浮点数




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2