为什么当我输入5/9 1/2等十进制位置并将其初始化为double或float时,当我使用cout时我会在屏幕上显示0 这是代码:
#include <iostream>
using namespace std;
int main () {
double n = 5/9;
cout <<n;
return 0;
}
例如:5/9它打印0(我想得到的答案是0.5555556) 1/2它打印0(我认为得到0.5的答案) 为什么它不像假想的值那样打印?我已经知道double和float用于十进制值,但它只打印0并且在该点之后不再显示。
答案 0 :(得分:1)
您要划分两个文字整数,因此结果将截断为0(因为除法小于1)。要获得正确的结果,您应该double n = 5.0/9.0;
,因此除法在两个浮点文字之间。