我必须使用某些变量进行一些计算,我面临的问题是最终结果不正确,我偶然发现了以下问题。
我发现当我将以下行分配给float或double变量时,它应该保存浮点数:
float a=4/3;
double b=4/3;
cout<< a << b;
我得到的输出是:1和1,为什么?我认为,浮点数和双数意味着保持浮点数变量,他们会计算4除以3的结果,并给出一些输出,如:1,33 - 但事实并非如此。
我如何使用它们来构建包含2个数字的结果的变量,因为我没有足够的时间自己制作任何计算;)
非常感谢所有的回答!
Cheers Max
答案 0 :(得分:1)
这是因为你正在划分整数。您必须将数字转换为浮点精度。
float a=4.0f/3;
double b=4.0f/3;
cout<< a << b;