在 c++ 中使用浮点数、双精度打印十进制

Printing decimal using float,double in c++

本文关键字:双精度 打印 十进制 浮点数 c++      更新时间:2023-10-16

我一直在尝试通过将变量存储到浮点数和双精度中来打印小数,但我没有得到所需的输出。 关于这些数据类型,我有什么不了解的?

以下是我的代码:

int main(){
double s = 0;
float r = 1 / 4;
cout << r << endl;
cout << pow((1 - s), 2) << endl;
cout << (2 + s) << endl;
cout << (1 / 4) * (pow((1 - s), 2)) * (2 + s) << endl;
return 0;
}

输出:

0
1
2
0

第一行应为 0.25,最后一行应为 0.5。

您正在执行整数数学运算。 整数 1 除以整数 4 将向下舍入为零。

您需要告诉编译器您的数字文本是浮点值。

float r = 1.0 / 4.0;
cout << r << endl;
cout << pow((1.0 - s), 2) << endl;
cout << (2.0 + s) << endl;
cout << (1.0 / 4.0) * (pow((1.0 - s), 2)) * (2.0 + s) << endl;