在 c++ 中使用浮点数、双精度打印十进制
Printing decimal using float,double in c++
我一直在尝试通过将变量存储到浮点数和双精度中来打印小数,但我没有得到所需的输出。 关于这些数据类型,我有什么不了解的?
以下是我的代码:
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;
相关文章:
- 为什么 std::cout 打印浮点数、双精度和长双精度到相同的小数精度?
- 打印双精度的整个非小数部分
- 什么样的 GCC 优化可能会根据是否打印来更改双精度?
- 在 c++ 中使用浮点数、双精度打印十进制
- 双精度未打印出来
- 如何在不丢失第一位数字的情况下打印出双精度值
- 如何在 for 循环内部或外部打印双精度变量
- 使用 cout 以精度 4 打印双倍
- 长双精度在 MinGW 上打印错误
- 对应该返回的双精度变量进行舍入,而不是打印
- 如何打印具有正确有效小数位数的C++双精度
- 在所有声明的双精度但整数结果中打印带有函数的圆的面积,为什么
- 如何在Qt中打印所有小数的双精度
- 以给定精度在给定方向上四舍五入打印双精度
- 我应该使用wsprintf()将双精度打印为宽字符串吗
- C++程序不打印出字符串,但输出双精度值
- 双精度/打印在c++中不能处理14位数字
- 打印Python和c++双精度值时的精度差异
- 为什么这个双精度值打印为 "-0" ?
- c++长双精度打印所有数字