C++ 显式类型转换浮点(intvar)会导致int

C++ 显式类型转换浮点(intvar)会导致int,c++,floating-point,cout,C++,Floating Point,Cout,我尝试了以下代码: #include <iostream> #include<conio.h> using namespace std; int main() { int intvar = 25; float floatvar = 35.87; cout << "intvar= " << intvar; cout << "\n floatvar =" << floatvar; cout

我尝试了以下代码:

#include <iostream>
#include<conio.h>
using namespace std;
int main()
{
    int intvar = 25;
    float floatvar = 35.87;
    cout << "intvar= " << intvar;
    cout << "\n floatvar =" << floatvar;
    cout << "\n float(intvar)=" << float(intvar);
    cout << "\n int(floatvar)=" << int(floatvar);
    _getch();
    return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
int-int=25;
浮动var=35.87;

cout您需要指定浮点输出的格式,例如:

cout << "\n float(intvar)=" << std::fixed << float(intvar);

cout该值不是整数,只是
std::cout
将尝试在此处为您提供一个简洁的表示形式。使用
setfixed
setprecision
(from
#include
)强制在浮点上指定一个特定的输出精度。将其添加到第一行
cout
之前:

cout << fixed << setprecision(6);

cout,因为它们的意思相同?以及您如何准确选择零的数量?无论如何,如果您想格式化输出,这可能会很有帮助:我有疑问,因为我希望float打印一个十进制数字,而不仅仅是一个整数。但谢谢您,我会尝试您的建议:)