使用float打印十进制,在c ++中打印double

时间:2017-07-13 23:42:11

标签: c++ double decimal

我一直试图通过将变量存储到float和double来打印小数,但我没有得到所需的输出。我不了解这些数据类型?

以下是我的代码:

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 个答案:

答案 0 :(得分: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;