为什么我不能在c ++中输出基本的double

时间:2010-09-04 16:51:59

标签: c++

  

可能重复:
  Incorrect floating point math?

在visual studio中使用C ++控制台应用程序。

 float percentCorrect;
 percentCorrect = ( 7 / 5 );
 printf("%f", percentCorrect);

输出为1.0000

好的,我如何获得正确的十进制输出?

3 个答案:

答案 0 :(得分:2)

7和5是整数,因此编译器将它们视为整数并进行整数除法。

float percentCorrect; 
percentCorrect = (7.0/5.0); 
printf("%f", percentCorrect);

以上内容应打印出预期值。

答案 1 :(得分:1)

您需要包含小数:7.0 / 5.0

答案 2 :(得分:1)

75是整数文字,因此7 / 5执行整数除法。

您需要至少有一个用于执行浮点除法的浮动文字:

float percentCorrect = 7.0 / 5.0;