我正在试图制作一个使用泰勒序列的程序来近似e
。 但是,我遇到了一个问题,这让我感觉在C++上显得很不爽。变量e
是一个浮点数,但每当我使用cout << e << "\n";
它只输出2,而不是2.0或2.7或任何它应该在代码中的任何点输出。这里的main()
代码:如何在C++中输出float值?
int main() {
float e = 1.0;
int d = 1;
int counter = 25;
while(counter>=1){
counter-=1;
e+=(1/fact(d));
d++;
cout << e << "\n";
}
}
fact()
计算阶乘的一些(!)。当我运行程序时,我得到了25行,说2
。我究竟做错了什么?在功能之前我有#include <iostream>
和using namespace std;
。
假设'fact'返回一个整数,将'1/fact(d)'改为'1.0/fact(d)'。 –
如果您认为输出浮点数时遇到问题,请尝试float float x = 2.7; std :: cout << x <<'\ n';'。 – juanchopanza
@barakmanos谢谢你。有效。我刚才假设'int/int'应该输出float。使它成为'1.0'。 –