2014-11-22 96 views
-3

我必须使用某些变量来进行一些计算,我所面临的问题是最终结果不正确,我偶然发现了以下问题。浮点数 - 错误输出

我发现,当我给你以下行浮动或double变量,它应该保持浮动点:

float a=4/3; 
double b=4/3; 
cout<< a << b; 

我得到的输出是:1和1,这是为什么?我认为,作为浮点数的浮点数可以保持浮点变量,他们会计算4除以3得到的结果,并给出如下的输出结果:1,33 - 但事实并非如此。

如何使用它们来构建将举行分2号,因为我没有足够的时间来让我自己任何Calcs(计算)的结果的变量;)

非常感谢所有anwers !

干杯最大

回答

1

这是因为你是分裂整数。您必须将数字转换为浮点精度。

float a=4.0f/3; 
double b=4.0f/3; 
cout<< a << b;